/**
 * 页面内容
 */
var $slide_level1;
/**
 * 页头高度
 */
var page_header_height = 43;
/**
 * 左侧栏关闭时宽度
 */
var left_bar_mini_width = 42;
/**
 * 左侧栏打开时宽度
 */
var left_bar_max_width = 206;
/**
 * 当前左侧栏状态 0关闭中 1打开中
 */
var left_bar_state = 0;
/**
 * 当前指定的全局搜索类型 1作品 2专题 3鞋主秀 4作者
 */
var search_global_type = 1;
/**
 * 系统工作 0=待命 1保存上传等操作正在进行
 */
var onBusy = 0;

$(document).ready(function () {
    $slide_level1 = $("#slide_content_level1");
    $slide_level1.height($('body').height() - page_header_height);
    $('#user_menu_bar_left').children().height($slide_level1.height());

    top_left_bar_set();

    // 当页眉搜索框点击回车时 进入全局搜索控制器
    $('#search_global_input').keydown(function (e) {
        if (e.keyCode == 13) {
            search_global_go();
        }
    });
    // 当点击浏览器的后退时
    window.onpopstate = function (event) {
        if (event.state == undefined) {
            goto_main(1);
            return;
        }
        var post_url = event.state['url'];
        if (post_url != undefined) {
            act_content(null, post_url, event.state, 1);
        }
        else //回首页
        {
            goto_main(1);
        }
    }

    window.onbeforeunload = function () {
        if (onBusy != 0) {
            return '将退出当前操作？';
        }
    }
});

/**
 * 设置左侧栏状态
 */
function top_left_bar_set() {
    // 设置按钮的激活状态
    var path_name = window.location.pathname;
    if (path_name == '/') {
        set_top_menu_active(1);
    } else if (path_name.indexOf('/special') >= 0) {
        set_top_menu_active(2);
    } else if (path_name.indexOf('/show') >= 0) {
        set_top_menu_active(3);
    }

    var search_data = window.location.search;
    // 如果当前页面为编辑页面时，改变左侧栏内容
    if (search_data.indexOf('controller=work_edit', 0) > 0) {
        top_left_bar_change(1);
    } else if (search_data.indexOf('controller=topic_edit', 0) > 0) {
        top_left_bar_change(2);
    } else if (search_data.indexOf('controller=shoe_show_edit', 0) > 0 &&
        search_data.indexOf('user_login', 0) < 0) {
        top_left_bar_change(3);
    } else if (search_data.indexOf('user_field_manage', 0) > 0) {
        top_left_bar_change(4);
    } else {
        top_left_bar_change(0);
    }
}

/**
 * url新链接方式的 内容切换 并替换url 如果url为null，则默认为/index.php
 * @param {Object} sender DOM对象 根据DOM对象的data-url与data-forward获取数据
 * @param {String} url 要更新的url 如果为null 则默认为/index.php
 * @param {Object} data 需要post的数据
 * @param {Number} mode 操作模式 0:push url,1:none,2: ?search添加参数到url 默认
 * @param {Number} isback 是否为返回 1是替换url 0否push url
 */
function act_content(sender, url, data, mode, isback) {
    //如果在前进时需要确认 可以设置全局变量onBusy
    if (onBusy != 0) {
        if (confirm("将退出当前操作？") == false)
            return;
        else
            onBusy = 0;
    }
    var post_data;
    var post_url;
    if (sender != undefined) {
        $sender = $(sender);
        post_data = $sender.attr("data-forward");
        if (post_data == undefined) post_data = '';
        post_data = post_string_to_array(post_data);
        post_url = $sender.attr("data-url");
    }
    else if (data != undefined) {
        post_data = data;
    }
    if (url != undefined) {
        post_url = url;
    }
    if (post_url == undefined) {
        post_url = '/'; //都没有url的话 默认为根目录
    }
    if (post_data == undefined) //如果post_data未定义 默认使用对象数组
    {
        post_data = {
            post_content: 1
        };
    }
    if (post_data != undefined) {
        //act_goto_animate();
        $.AMUI.progress.start();
        var post_search;
        if (mode == 2 || mode == undefined) {
            post_search = '/?' + post_array_to_string(post_data)
        }
        //20170212 添加 此标志位 服务器判断此为post的内容
        post_data['post_content'] = 1;
        $.ajax({
            url: post_url,
            type: 'POST',
            data: post_data,
            timeout: 5000,
            error: function () {
                show_alert('无法连接服务器！');
            },
            success: function (result) {
                update_cur_content(result);
                if (mode == 0) {
                    post_data['url'] = post_url;
                    if (isback == 1) // 如果是退回的操作 则直接替换掉路径的历史 否则压入历史堆中
                        history.replaceState(post_data, '', post_url)
                    else
                        history.pushState(post_data, '', post_url);
                }
                else if (mode == 2 || mode == undefined) {
                    post_data['url'] = post_url;
                    history.prev;
                    if (isback == 1) // 如果是退回的操作 则直接替换掉路径的历史 否则压入历史堆中
                        history.replaceState(post_data, '', post_search)
                    else
                        history.pushState(post_data, '', post_search);
                }
                top_left_bar_set();
            },
            complete: function () {
                $.AMUI.progress.done();
            }
        });
    }
}

/**
 * 首页转到作品列表
 */
function toppage_to_worklist() {
    var post_data = {
        controller: "works_show_list",
        list_type: 1,//1热门 2关注 3最新 
        page_change: 1,
        page_iscroll_load: 1,
        home_view: 1
    };
    act_content(null, '/', post_data, 0);
}

/**
 * 首页转到专题
 */
function toppage_to_topic() {
    var post_data = {
        list_type: 1,
        page_iscroll_load: 1,
        home_view: 2
    };
    act_content(null, '/special/', post_data, 0);
}

/**
 * 首页转到鞋主秀
 */
function toppage_to_shoe_show() {
    var post_data = {
        list_type: 1,
        page_iscroll_load: 1,
        home_view: 3
    };
    act_content(null, '/show/', post_data, 0);
}

/**
 * 设置顶端菜单首页、专题、鞋主秀按钮状态
 * @param {int} i 1首页 2专题 3鞋主秀
 */
function set_top_menu_active(i) {
    $page_header = $('#menu_top_btn_group');
    if (i == 1) {
        $page_header.children('#menu_home').addClass("active-toppage-menu")
        $page_header.children("#menu_topic").removeClass("active-toppage-menu");
        $page_header.children("#menu_shoe_show").removeClass("active-toppage-menu");
    }
    else if (i == 2) {
        $page_header.children('#menu_home').removeClass("active-toppage-menu")
        $page_header.children("#menu_topic").addClass("active-toppage-menu");
        $page_header.children("#menu_shoe_show").removeClass("active-toppage-menu");
    }
    else if (i == 3) {
        $page_header.children('#menu_home').removeClass("active-toppage-menu")
        $page_header.children("#menu_topic").removeClass("active-toppage-menu");
        $page_header.children("#menu_shoe_show").addClass("active-toppage-menu");
    }
}

//首页作品展示列表的列表类型或页面改变
function work_show_list(type, page) {
    if (isNaN(page)) return;
    if (type == 1 || type == 2 || type == 3 ||
        type == 101 || type == 102 || type == 103 || type == 104) {
        var post_data = {
            controller: "works_show_list",
            list_type: type,//1热门 2关注 3最新 
            page_change: page,
            page_iscroll_load: 1,
            home_view: 1
        };
        act_content(null, null, post_data, 1);
    }
}

//首页专题展示列表类型或页面改变
function topic_show_list(type, page) {
    if (isNaN(page)) return;
    if (type == 1 || type == 2 || type == 3) {
        var post_data = {
            controller: "topic_show_list",
            list_type: type,
            page_iscroll_load: 1,
            home_view: 2
        };
        act_content(null, null, post_data, 1);
    }
}

//首页鞋主秀展示列表类型或页面改变
function shoe_show_list(type, page) {
    if (isNaN(page)) return;
    if (type == 1 || type == 2 || type == 3) {
        var post_data = {
            controller: "shoe_show_list",
            list_type: type,
            page_iscroll_load: 1,
            home_view: 3
        };
        act_content(null, null, post_data, 1);
    }
}

/**
 * 用户收藏
 */
function user_collect(sender) {
    var s = $(sender);
    var collect_id = s.attr("data-collect-id");//被收藏对象的id
    var collect_type = s.attr("data-collect-type");//收藏类型 0作品 1鞋主秀 2个人主页
    if (collect_id == undefined || collect_type == undefined) {
        show_alert('用户收藏 页面信息错误');
        return;
    }
    var post_data = {
        controller: "user_collect",
        collect_id: collect_id,
        collect_type: collect_type
    }
    act_do(post_data, user_collect_callback);
}

function user_collect_callback(result) {
    if (result == 1) {
        $('#collect_icon').removeClass('am-icon-star-o').addClass('am-icon-star');
        show_fade('收藏添加完成', 2000);
    }
    else if (result == -1) {
        $('#collect_icon').removeClass('am-icon-star').addClass('am-icon-star-o');
        show_fade('收藏删除完成', 2000);
    }
    else {
        show_alert(result);
    }
}

/**
 * 评论发布
 */
function comment_release() {
    var comment_div = $("#comment_edit_div");
    var reply_id = comment_div.attr("data-reply-id");//对哪个评论进行回复 回复对象的Id
    var parent_id = comment_div.attr("data-parent-id");//对什么进行评论 评论的对象Id
    var parent_type = comment_div.attr("data-parent-type");//评论对象的类型 1作品 2鞋主秀
    var at_username = comment_div.attr("data-at-username");//评论需要回复@的用户名
    var this_comment = $('#comment_edit_text').val();
    if (parent_id == undefined ||
        parent_type == undefined ||
        reply_id == undefined ||
        this_comment == undefined ||
        at_username == undefined)
        return;
    if (this_comment.length < 5) {
        show_alert('请填写5个字或以上的评论');
    }
    else if (this_comment.length > 135) {
        show_alert('请填写135个字以内的评论');
    }
    else {
        var post_data = {
            controller: "comment",
            parent_type: parent_type,
            parent_id: parent_id,
            reply_id: reply_id,//0发布 >0回复的id
            comment_text: encodeURIComponent(this_comment),
            at_username: encodeURIComponent(at_username)
        }
        act_do(post_data, comment_release_callback);
    }
}

function comment_release_callback(result) {
    if (!isNaN(result) && parseInt(result) > 0) {
        act_back();
        show_fade('已评论成功');
    } else {
        show_alert(result);
    }
}

/**
 * 专题页改变
 */
function topic_page_change(type, i) {
    if (isNaN(type) || isNaN(i)) {
        show_alert("页面信息错误");
    }
    var $list_content = $("#topic_list_content");
    var work_id = $list_content.attr("data-work-for-topic");
    if (work_id == undefined) {
        work_id = 0;
    }
    // 20150523 web版的首页内容也需要换页 需要判断是否为广场/关注/参与
    var list = 'topic_list';
    if (type == 1 || type == 2 || type == 3)
        list = 'topic_show_list';
    var post_data = {
        controller: list,
        list_type: type,
        page_change: i,
        work_id: work_id
    }
    var callback_para = {
        type: type,
        list_content: $list_content
    };
    act_do(post_data, topic_page_change_callback, callback_para);
}

function topic_page_change_callback(result, para) {
    para.list_content.html(result);
    if (para.type == 13 || para.type == 14) //如果为审批 将作品数量替换
    {
        var count = $('#topic_items_count').val();
        if (count != undefined) {
            $('#topic_works_count').text(count);
        }
    }
}

/**
 * 鞋主秀页改变
 */
function shoe_show_page_change(type, i) {
    if (isNaN(type) || isNaN(i)) {
        show_alert("页面信息错误");
    }
    var post_data = {
        controller: "shoe_show_list",
        list_type: type,
        page_change: i
    }
    act_do(post_data, shoe_show_page_change_callback);
}

function shoe_show_page_change_callback(result) {
    $("#shoe_show_list_content").html(result);
}

/**
 * 消息页改变
 */
function message_page_change(type, i) {
    if (isNaN(type) || isNaN(i)) {
        show_alert("页面信息错误");
        return;
    }
    var post_data = {
        controller: "message",
        msg_type: type,
        page_change: i
    };
    if (type == 205) // 私信对话 需要对话的id
    {
        var dialog_id = $('#dialog_list_div').attr('data-dialog');
        if (dialog_id == undefined) return;
        post_data.msg_dialog = dialog_id;
    }
    act_do(post_data, message_page_change_callback);
}

/**
 * 消息页改变 回调
 */
function message_page_change_callback(result) {
    $("#msg_list_content").html(result);
}

/**
 * 用户列表 换页
 * @param {Number} 列表类型
 * @param {Number} 页码
 */
function user_page_change(type, i) {
    if (isNaN(type) || isNaN(i)) {
        show_alert("页面信息错误");
        return;
    }
    var post_data = {
        controller: "user_list",
        list_type: type,
        page_change: i
    };
    act_do(post_data, user_page_change_callback);
}

function user_page_change_callback(result) {
    $('#user_list_content').html(result);
}

/**
 * 作品页改变
 */
function work_page_change(type, i) {
    if (isNaN(type) || isNaN(i)) {
        show_alert("作品换页 页面信息错误");
        return;
    }
    var user_id;
    var controller;
    if (type >= 1 && type <= 3) {
        //首页的热门、关注、最新
        controller = 'works_show_list';
    } else {
        controller = 'works_list';
    }
    var post_data = {
        controller: controller,
        list_type: type,
        page_change: i
    };
    //20170113 添加 换页时如果找到排序切换的选项 则添加post数据中
    var seleItem = $("#order_sele").attr("data-sele-item");
    if (seleItem != undefined && !isNaN(seleItem)) {
        post_data['order_type'] = parseInt(seleItem) + 200;
    }
    if (type == 8 || type == 9 || type == 6) {
        // 需要当前浏览的个人主页信息
        // 如果列表类型为6（推荐的作品） 没有找到当前浏览的个人主页信息的话 
        // 即抓取当前登陆用户的推荐作品（我的推荐）
        var user_id = $("#user_show_name").attr("data-user-id");
        if (user_id != undefined) {
            post_data['works_user_id'] = user_id;
        }
        else if (type == 8 || type == 9) {
            show_alert("作品换页 页面信息错误");
            return;
        }
    }
    if (type == 11) {
        //需要加入的专题id
        var topic_id = $("#msg_topic_id").text();
        if (topic_id == undefined) {
            show_alert("作品换页 页面信息错误");
            return;
        }
        post_data['topic_id'] = topic_id;
    }
    act_do(post_data, work_page_change_callback);
}

function work_page_change_callback(result) {
    $("#work_list_content").html(result);
}

/**
 * 评论换页
 */
function comment_page_change(i) {
    var comment_div = $("#comment_div");
    var parent_id = comment_div.attr("data-parent-id");//对什么进行评论 评论的对象Id
    var parent_type = comment_div.attr("data-parent-type");//评论对象的类型 1作品 2鞋主秀
    if (parent_id == undefined) {
        show_alert("评论换页 页面信息错误");
        return;
    }
    var desc = comment_div.attr("data-desc"); //20170122 添加 评论的排序 0正序 1倒序
    if (desc == undefined) desc = 0;
    var author_id = comment_div.attr('data-author-id');
    if (author_id == undefined) author_id = 0;
    var post_data = {
        controller: "comment",
        comment_parent_id: parent_id,
        comment_parent_type: parent_type,
        page_change: i,
        comment_desc: desc,
        author_id: author_id
    }
    act_do(post_data, comment_page_change_callback);
}

function comment_page_change_callback(result) {
    $("#comment_list_content").html(result);
}

/**
 * 需要post的数据数组转为url形式字符串
 */
function post_array_to_string(data) {
    if (typeof (data) == 'object') {
        var s = '';
        for (var key in data) {
            if (data.hasOwnProperty(key)) {
                s += key + '=' + data[key] + '&';
            }
        }
        s = s.substr(0, s.length - 1);
        return s;
    } else {
        return data
    }
}

/**
 * 将url形式的字符串转为post的数组
 */
function post_string_to_array(str) {
    var data = {};
    if (str == '') return data;
    var groupArray = str.split('&');
    var len = groupArray.length;
    var keyValueArray;
    for (var i = 0; i < len; i++) {
        keyValueArray = groupArray[i].split('=');
        if (keyValueArray.length == 2) {
            data[keyValueArray[0]] = keyValueArray[1];
        }
    }
    return data;
}

//更新当前页面
function update_cur_content(content) {
    $slide_level1.html(content);
}

//重载整个页面
function act_reload() {
    show_loading();
    location.reload(true);
}

//页面返回
function act_back() {
    window.history.back();
}

//带确认的页面返回
function act_back_confirm() {
    if (confirm('确认要退出当前页面吗？') === true) {
        act_back();
    }
}

//页面跳转的加载动画
function act_goto_animate() {
    $slide_level1.html('<div style="text-align: center;height: 50px;" class="am-text-lg" ><i class="am-icon-spinner am-icon-spin am-icon-fw"></i>加载中...</div>');
}

/**
 * 服务器执行指令
 * @param {Object} data 需要post的数据
 * @param {Object} callback 需要回调的函数
 * @param {Object} callback_para 回调函数的参数 post的返回结果会以第一参数传入，此作为第二参数传入 可不设置
 * @param {Boolean} loading 启用加载进度条 默认启用true 不启用false
 */
function act_do(data, callback, callback_para, loading) {
    if (loading == undefined || loading == true)
        $.AMUI.progress.start(); // 默认使用加载进度条
    // 20170223 添加 post内容标签
    data['post_content'] = 1;
    if (data != undefined) {
        $.ajax({
            url: '/index.php',
            type: 'POST',
            data: data,
            timeout: 5000,
            error: function (i, r) {
                show_alert('无法连接服务器！请尝试刷新');
            },
            success: function (result) {
                if (typeof (callback) == 'function') {
                    callback(result, callback_para);
                } else {
                    if (result != '') { //显示错误信息或返回的成功信息 如果为空表示此操作不需要显示信息
                        show_alert(result);
                    }
                }
            },
            complete: function () {
                close_loading();
                if (loading == undefined || loading == true)
                    $.AMUI.progress.done();
            }
        });
    }
}

/**
 * 用户登录
 * @param {Number} type 登陆类型 登陆类型 1或空为普通登陆 2为鞋主秀登陆 3为管理员登陆
 * @param {*} para 附加参数 如果是鞋主秀登陆 则为作品id
 */
function user_login(type, para) {
    var un = $("#user_name").val();
    var up = $("#user_password").val();
    if (un == undefined || un == '') {
        show_alert('用户名不能为空');
        return;
    }
    if (up == undefined || up == '') {
        show_alert('密码不能为空');
        return;
    }
    //自动登陆
    var auto = document.getElementById("user_login_local_auto").checked;
    var auto_login = 0;
    if (auto == true) auto_login = 1;
    else auto_login = 0;
    var post_data = {
        controller: "user_login",
        user_name: encodeURIComponent(un),
        user_password: encodeURIComponent(up),
        user_login_local_auto: auto_login,
        login: type
    }
    var callback_para = {
        type: type,
        user_name: un,
        para: para
    }
    if (type == 2) //鞋主秀发布页面登陆 获取相关作品id
    {
        callback_para['work_id'] = para;
    }
    act_do(post_data, user_login_callback, callback_para);
}

/**
 * 用户登陆回调
 */
function user_login_callback(result, para) {
    if (result == 1) {
        $("#user_login_warning").hide();
        user_avatar_name(para.user_name);
        if (para.type == 1) {//正常主页情况登陆 返回
            act_back();
        } else if (para.type == 2) { //鞋主秀登陆 进入鞋主秀编辑器
            var post_data = {
                controller: 'shoe_show_edit',
                work_id: para.para
            }
            act_content(null, null, post_data, 2, 1);
        } else if (para.type == 3) { //管理员登陆 进入首页
            var host = location.protocol + '//' + location.host
            window.location.assign(host);
        }
    }
    else {
        //$("#user_login_warning").show();
        show_alert('登陆失败，请检查用户名或密码');
    }
}

/**
 * 更新用户头像与用户名
 * @param {String} user_name 用户名
 */
function user_avatar_name(user_name) {
    var post_data = {
        controller: "user_msg",
        user_name: user_name,
        user_avatar: "1"
    }
    var callback_para = {
        user_name: user_name
    }
    act_do(post_data, user_avatar_name_callback, callback_para);
}

function user_avatar_name_callback(result, para) {
    var i = result.indexOf('|');
    if (i > 0) //如果含有'|',|前面的代表用户Id 后面代表用户头像链接
    {
        var id = result.substr(0, i);
        var url = result.substr(i + 1);
        $("#user_bar_avatar").attr("src", url);
        $("#user_bar_name").text(para['user_name']);
        $("#user_bar_forward").attr("data-url", "/user/" + id + ".html");
        // 用于web版
        //$('#menu_top_user').attr("data-url", "controller=user_show&user_name=" + para['user_name']);
    }
    else {
        show_alert(result); // 代表错误信息
    }
}

function user_login_third_auto() {
    var auto = document.getElementById("user_login_third_auto").checked;
    if (auto == true) auto_login = 1;
    var post_data = {
        controller: "user_login",
        user_login_third_auto: 1
    }
    act_do(post_data, user_login_third_auto_callback);
}

function user_login_third_auto_callback(result) {
    if (result != 1) {
        document.getElementById("user_login_third_auto").checked = false;
        show_alert('无法设置自动登陆！');
    }
}

/**
 * 用户登出
 */
function user_logout() {
    if (confirm('确认退出登陆吗') !== true) return;
    var post_data = {
        controller: "user_login",
        user_logout: 1
    }
    act_do(post_data, user_logout_callback);
}

/**
 * 用户登出回调
 */
function user_logout_callback(result) {
    if (result == 1) {
        act_reload();
    } else if (result == 2) {
        //微博登陆 还需要退出微博
        /*
         status = WB2.checkLogin();
         alert(status);
         if (status === true) {
         WB2.logout();
         }*/
        act_reload();
    }
    else {
        show_alert(result);
    }
}

/**
 * 跳转到注册页面
 * @param {Number} type 注册类型 1普通注册 2鞋主秀发布时注册
 * @param {*} para 附加参数 如果为鞋主秀发布时注册 则为作品id
 */
function user_reg_goto(type, para) {
    var post_data = {
        controller: "user_reg",
        reg_type: type,
        reg_para: para
    };
    act_content(null, null, post_data);
}

/**
 * 用户注册
 * @param {Number} type 注册类型 1普通注册 2鞋主秀发布时注册
 * @param {*} para 附加参数 如果为鞋主秀发布时注册 则为作品id
 */
function user_reg(type, para) {
    var un = $("#user_name").val();
    if (un == undefined || un == '') {
        show_alert("用户名不能为空");
        return;
    }
    var up = $("#user_password").val();
    if (up == undefined || up == '') {
        show_alert("密码不能为空");
        return;
    }
    if (!password_check(up)) {
        show_alert('密码长度为6-16 仅支持大小写字母和数字');
        return;
    }
    var upp = $("#user_password_check").val();
    if (upp != up) {
        show_alert("两次密码不一致");
        return;
    }
    $("#btn_user_reg_send").hide();
    var post_data = {
        controller: "user_reg",
        user_name: encodeURIComponent(un),
        user_password: encodeURIComponent(up),
        reg_type: type
    }
    var callback_para = {
        type: type,
        para: para,
        user_name: un
    }
    act_do(post_data, user_reg_callback, callback_para);
}

function user_reg_callback(result, para) {
    if (result == 1) {
        // 显示已注册成功
        user_avatar_name(para.user_name);
        if (para.type == 1) // 普通用户注册 则进入首页
        {
            var host = location.protocol + '//' + location.host
            window.location.assign(host);
        }
        else if (para.type == 2) // 鞋主秀发布时注册 进入鞋主秀编辑器
        {
            var post_data = {
                controller: 'shoe_show_edit',
                work_id: para.para
            }
            act_content(null, null, post_data, 2);
        }
        show_fade('欢迎您,' + para.user_name, 2000);
    }
    else {
        show_alert(result);
        $("#btn_user_reg_send").show();
    }
}

/**
 * 进入用户本领排序 界面进入
 * @param {Number} type 类型 1本领排序 2本领的作品排序
 * @param {Number} id 如果为作品排序 需要本领的id
 */
function user_field_order_show(type, id) {
    var post_data = {
        controller: 'user_field',
        user_field_manage: 2,
        order_type: type
    }
    if (type == 2) {
        if (id == undefined) return;
        post_data.user_field_id = id;
    }
    act_content(null, null, post_data);
}

/**
 * 使用js将用户本领界面 直接变化
 * @param {Number} type 类型 界面变化1普通本领管理界面 2本领删除界面
 */
function user_field_edit_view(type) {
    if (type == 1) {
        $("div[data-edit-view='dele']").hide();
        $("div[data-edit-view='view']").show();
    }
    else if (type == 2) {
        $("div[data-edit-view='view']").hide();
        $("div[data-edit-view='dele']").show();
    }
}

/**
 * 本领添加或编辑 界面进入
 * @param {Number} type 类型 1本领添加 11本领编辑 2本领添加作品 12本领删除作品 101切换到普通本领管理界面 102 切换到本领删除界面
 */
function user_field_edit(type, id) {
    if (type == 101 || type == 102) {
        user_field_edit_view(type - 100);
    }
    //1本领添加 2本领下的作品
    if (type != 1 && type != 2 && type != 11 && type != 12) return;
    var post_data = {
        controller: 'user_field',
        user_field_manage: 3,
        add_type: type
    };
    if (id != undefined) {
        post_data.user_field_id = id;
    }
    if (type == 2 || type == 12) {
        if (id == undefined) return;
        $edit_div = $("#field_edit_div");
        var user_field_name = $edit_div.find("#user_field_name").val();
        if (user_field_name == undefined || user_field_name == '') {
        } else {
            post_data['user_field_name'] = encodeURIComponent(user_field_name);
        }
        var user_field_introd = $edit_div.find("#user_field_introd").val();
        if (user_field_introd == undefined || user_field_introd == '') {
        } else {
            post_data['user_field_introd'] = encodeURIComponent(user_field_introd);
        }
    }
    act_content(null, null, post_data);
}

//用户本领排序 向上
function user_field_order_up(sender) {
    //找到当前行
    $this = $(sender).parents("li:first");
    if ($this) {
        //找到前一行
        $prev = $this.prev();
        //在前一行的前面插入当前行
        if ($prev) {
            $prev.before($this);
        }
        user_field_order_en();
    }
}

//用户本领排序 向下
function user_field_order_down(sender) {
    //找到当前行
    $this = $(sender).parents("li:first");
    if ($this) {
        //找到下一行
        $next = $this.next();
        //在下一行的后面插入当前行
        if ($next) {
            $next.after($this);
        }
        user_field_order_en();
    }
}

/**
 * 用户本领排序 恢复 即刷新页面
 */
function user_field_order_restore() {
    // 首先检查当前的按钮是否已经使能
    var en = user_field_order_check();
    if (en == 0) return;
    act_reload();
}

/**
 * 用户本领排序 底部按钮使能
 */
function user_field_order_en() {
    $('#field_order_bottom_bar').children('.app-gray2-color').removeClass('app-gray2-color');
}

/**
 * 检查当前用户本领排序 底部按钮是否已经使能
 */
function user_field_order_check() {
    var $en = $('#field_order_bottom_bar').children('div.app-gray2-color');
    if ($en.length > 0) return 0;
    else return 1
}

/**
 *
 * @param {Number} type 排序类型 1本领 2本领中的作品
 */
function user_field_order(type) {
    // 首先检查当前的按钮是否已经使能
    var en = user_field_order_check();
    if (en == 0) return;
    var ids = '';
    var id;
    var $list
    //找到整个ul列表
    if (type == 1) $list = $('#user_field_manage_list');
    else if (type == 2) $list = $('#user_field_work_list');
    else return;

    if ($list.length > 0) {
        $list.children().each(function () {
            id = $(this).data('id');
            if (id == undefined) return;
            ids += id + ',';
        });
    }
    else {
        return;
    }

    var post_data = {
        controller: 'user_field',
        user_field_manage: 2,
        ids: ids,
        order_type: (parseInt(type) + 10)
    }
    if (type == 2) //需要本领的id
    {
        id = $('#user_field_work_list').data('id');
        if (id == undefined) return;
        post_data.user_field_id = id;
    }
    act_do(post_data, user_field_order_callback, type);
}

function user_field_order_callback(result, para) {
    if (result == 1) {
        show_fade('排序操作完成', 3000);
        // 返回
        act_back();
    }
    else {
        show_alert(result);
    }
}

/**
 * 用户的本领删除 选中本领后触发此函数
 * @param {int} state 1选中 0取消选中
 */
function user_field_dele_sele(state) {
    // 更新删除按钮的颜色
    $checked = $('.app-check-box-icon.app-main-color');
    if ($checked.length > 0) {
        $('#field_work_dele_btn.app-btn-gray')
            .removeClass('app-btn-gray').addClass('app-btn-red');
    }
    else {
        $('#field_work_dele_btn.app-btn-red')
            .removeClass('app-btn-red').addClass('app-btn-gray');
    }
}

/**
 * 用户本领删除请求提交
 */
function user_field_dele() {
    // 获取当前勾选的本领
    $checked = $('.app-check-box-icon.app-main-color');
    var ids = '';
    var id;
    $checked.each(function () {
        var id = $(this).data('id');
        if (id != undefined) {
            ids += id + ',';
        }
    })
    if (ids == '') {
        show_alert('请选择需要删除的本领');
        return
    }

    var post_data = {
        controller: "user_field",
        ids: ids,
        user_field_manage: 5
    }
    // 禁止掉按钮 避免重复操作
    $("#field_work_dele_btn").attr({"disabled": "disabled"});
    var callback_para = {
        ids: ids
    }
    act_do(post_data, user_field_dele_callback, callback_para);
}

function user_field_dele_callback(result, para) {
    if (!isNaN(result)) // 返回的结果是数值 代表删除成功 数值代表购物车需要减的数量 
    {
        // 删除成功
        // 将已删除的本领项从界面删掉
        var id_array = para.ids.split(',');
        var i
        for (i in id_array) {
            if (id_array[i] != '') {
                $("li[data-id='" + id_array[i] + "']").remove();
            }
        }
        // 顶端菜单购物车的数量需要减去
        if (result > 0) {
            item_sub($('#pay_car_menu_count'), result);
        }
        // 界面变化回本领普通管理界面
        user_field_edit(101);
        show_fade('删除本领成功', 3000);
    }
    else {
        show_alert(result);
    }
    // 按钮恢复可用状态
    $("#field_work_dele_btn").removeAttr("disabled");
}

function user_field_work_dele_sele(sender) {
    var $checked = $(".app-check-box2[data-state='1']");
    if ($checked.length > 0) {
        $('#field_work_dele_btn.app-btn-gray')
            .removeClass('app-btn-gray').addClass('app-btn-red');
    }
    else {
        $('#field_work_dele_btn.app-btn-red')
            .removeClass('app-btn-red').addClass('app-btn-gray');
    }
}

/**
 * 本领或本领内作品删除前的检查并确认
 * @param {Number} type 类型 0本领的作品删除 默认为0; 1本领删除
 */
function user_field_work_dele_check(type) {
    if (type == undefined) type = 0;
    if (type == 0) {
        var $checked = $(".app-check-box2[data-state='1']");
        if ($checked.length <= 0) {
            show_alert('请选择需要删除显示的作品');
            return;
        }
        var data = {
            text: '确定删除作品在本领中显示?',
            confirmText: '确定删除',
            confirmBackColor: '#e84e40',
            onConfirm: user_field_work_dele
        }
    }
    else if (type == 1) {
        var $checked = $('.app-check-box-icon.app-main-color');
        if ($checked.length <= 0) {
            show_alert('请选择需要删除的本领');
            return;
        }
        var data = {
            text: '确定删除此本领?',
            confirmText: '确定删除',
            confirmBackColor: '#e84e40',
            onConfirm: user_field_dele
        }
    }
    else return;
    show_confirm(data);
}

/**
 * 提交本领删除作品的请求
 */
function user_field_work_dele() {
    // 获取当前编辑本领的id
    var user_field_id = $('#user_field_id').text();
    if (user_field_id == undefined || isNaN(user_field_id)) {
        return;
    }
    // 获取当前勾选了的作品
    var ids = '';
    var id;
    $(".app-check-box2[data-state='1']").each(function () {
        id = $(this).attr('data-id');
        if (id != undefined && !isNaN(id)) {
            ids += id + ',';
        }
    });
    if (ids == '') {
        show_alert('请选择需要删除显示的作品');
        return;
    }

    $("#field_work_dele_btn").attr({"disabled": "disabled"});
    var post_data = {
        controller: 'user_field',
        user_field_manage: 4,
        user_field_id: user_field_id,
        ids: ids
    }
    var callback_para = {
        user_field_id: user_field_id
    }
    act_do(post_data, user_field_work_dele_callback, callback_para);
}

function user_field_work_dele_callback(result, para) {
    if (result == 1) {
        // 返回本领编辑界面
        if (para.user_field_id == undefined) {
            show_alert('返回到本领编辑时错误');
            return;
        }
        user_field_edit(11, para.user_field_id);
        show_fade('成功删除作品在本领中显示', 3000);
    }
    else {
        show_alert(result);
        // 按钮恢复可用状态
        $("#field_work_dele_btn").removeAttr("disabled");
    }
}

/*将页面设置为跳转返回信息
 @param options
 div_id 需要设置的页面范围 需要#
 color:背景色
 text:描述
 btn_text:返回按钮文本
 */
function set_alert_back_box(options) {
    $(options.div_id).html('<div class="am-radius am-alert am-alert-' + options.color + '"><div>' + options.text + '</div><p><a class="am-radius am-btn am-btn-default am-btn-xs" onclick="act_back()">' + options.btn_text + '</a></p></div>');
}

/*将页面设置为跳转信息
 @param options
 div_id 需要设置的页面范围 需要#
 color:背景色
 text:描述
 btn_text:返回按钮文本
 data:要跳转到的页面信息
 */
function set_alert_goto_box(options) {
    var post_data = post_array_to_string(options.data);
    $(options.div_id).html('<div class="am-radius am-alert am-alert-' + options.color + '"><div>' + options.text + '</div><p><a data-forward="' + post_data + '" class="am-radius am-btn am-btn-default am-btn-xs" onclick="act_content(this,null,true,true)">' + options.btn_text + '</a></p></div>');
}

/*
 * 个人动态页面设置高度
 */
function op_page_set_height() {
    $("#user_operate_img_bar").height($("#user_operate_list").height());
}

/*
 * 个人动态换页
 */
function op_page_change(i) {
    if (isNaN(i)) {
        show_alert("页面信息错误");
        return;
    }
    var post_data = {
        controller: "user_operate_list",
        page_change: i
    };
    act_do(post_data, op_page_change_callback);
}

function op_page_change_callback(result) {
    $("#op_list_content").html(result);
    op_page_set_height();
}

//页面分享弹框
function page_share_actions() {
    set_modal("#share_actions", "open");
}
//右侧栏打开
function menu_r_open() {
    $('#doc-oc-right').offCanvas('open');
}
//右侧栏关闭
function menu_r_close() {
    $('#doc-oc-right').offCanvas('close');
}

//自由设置模态框状态 id需要带#号
function set_modal(id, act) {
    $(id).modal(act);
}

/**
 * 显示确认框
 * data.text提示语
 * .confirmBackColor确认按钮的背景颜色值#xxxxxx .cancelBackColor
 * .onConfirm确认时触发的事件函数 .onCancel取消时触发的事件函数
 * @param {Object} data
 */
function show_confirm(data) {
    var $confirm = $('#my-confirm');
    // 修改提示语
    if (data.text != undefined)
        $confirm.find('#my-confirm-text').text(data.text);
    var $confirm_btn = $confirm.find('#my-confirm-btn-confirm');
    // 修改确认按钮颜色
    if (data.confirmBackColor != undefined)
        $confirm_btn.css('background-color', data.confirmBackColor);
    // 修改确认按钮的文本
    if (data.confirmText != undefined)
        $confirm_btn.text(data.confirmText);
    // 修改取消按钮的颜色
    var $cancel_btn = $confirm.find('#my-confirm-btn-cancel');
    if (data.cancelBackColor != undefined)
        $cancel_btn.css('background-color', data.cancelBackColor);
    // 确认时触发的事件函数
    if (data.onConfirm != undefined)
        $confirm_btn.off('click').on('click', data.onConfirm);
    // 取消时触发的事件函数
    if (data.onCancel != undefined)
        $cancel_btn.off('click').on('click', data.onCancel);
    $confirm.modal();
}

/**
 * 显示全局提示框
 */
function show_alert(txt) {
    $("#my-alert-text").text(txt);
    $("#my-alert").modal();
}

/**
 * 显示全局加载等待框
 */
function show_loading(txt, no_dimmer) {
    if (txt == undefined) txt = '';
    var loading_id = '#my-loading';
    // 具有两个全局加载等待框 如果没有文字也没有遮罩层 使用第二个只有图标在转的
    if (txt == '' && no_dimmer == true)
        loading_id = '#my-loading2';
    var $loading = $(loading_id);
    $loading.find('span:first').html(txt);
    if (no_dimmer == undefined)
        $loading.modal();
    else
        $loading.modal({dimmer: false});
}

//关闭全局加载等待框
function close_loading() {
    // 将两个等待框都关闭
    $("#my-loading").modal("close").next().modal('close');
}

/**
 * 消息发布
 * @param {Number} msg_send 消息类型 202意见反馈 203举报 204意见反馈对话 205私信对话 206系统消息(仅管理员)
 */
function message_release(msg_send) {
    if (msg_send == undefined || isNaN(msg_send)) return;
    var message_div = $("#message_edit_div");
    var send_to_username = '';
    if (msg_send == 205) //普通私信对话 需要接收方的用户名
    {
        send_to_username = message_div.find("#message_edit_to_username").val();//私信发送对象
        if (send_to_username == undefined) return;
        if (send_to_username == '') {
            show_alert("请输入接收人的用户名");
            return;
        }
    }
    var msg_tittle = '';
    if (msg_send == 206) //系统消息 需要消息标题
    {
        msg_tittle = message_div.find('#message_tittle').val();
    }
    var message_content = message_div.find("#message_edit_text").val();
    if (message_content == undefined) {
        show_alert("页面信息已被破坏");
        return;
    }

    if (message_content.length < 5) {
        show_alert("请填写5个字以上的信息");
        return;
    }
    else if (message_content.length > 135) {
        show_alert('请填写135个字以内的信息');
        return;
    }
    //添加图片文件名
    var names = '';
    var name = '';
    var name_pre = '';
    var names = '';
    var name = '';
    var name_pre = '';
    var index = -1;
    var src = ""
    $("#img_list_demo").children("img").each(function () {
        if ($(this).attr("data-issave") == 0) {
            name_pre = "Temp|";
        }
        else {
            name_pre = "Save|";
        }
        src = $(this).attr("src");
        index = src.lastIndexOf("/");
        if (index > 0) {
            name = src.substr(index + 1);
            names += name_pre + name.replace(".mini.", ".") + ";";
        }
    });

    var post_data = {
        controller: "message",
        msg_text: encodeURIComponent(message_content),
        img_names: names,
        msg_send: msg_send
    };

    if (msg_send == 205) {
        post_data['msg_to_username'] = encodeURIComponent(send_to_username);
    }
    if (msg_send == 204) {
        post_data['msg_dialog'] = message_div.find('#msg_dialog').val();
        if (post_data['msg_dialog'] == undefined) {
            return;
        }
    }
    if (msg_send == 206) {
        post_data['msg_tittle'] = encodeURIComponent(msg_tittle);
    }
    act_do(post_data, message_release_callback);
}

/**
 * 消息发布回调函数
 * @param {Object} result 回应结果
 */
function message_release_callback(result) {
    if (result == 1) {
        $('#message_edit_toolbar').hide()
        set_alert_back_box({
            div_id: '#message_edit_form',
            color: 'success',
            text: '已发布成功~',
            btn_text: '点击返回'
        });
    } else {
        show_alert(result);
    }
}

/**
 * 获取编辑器中图片的文件名
 */
function get_img_name(src) {
    var charIndex = src.lastIndexOf('/');
    if (charIndex) {
        return src.substr(charIndex + 1, src.length - charIndex).replace(/.mini./, '.');
    } else {
        return '';
    }
}

/**
 * 通过name，获取当前radio选中的值
 */
function get_radio_value(name) {
    console.log(name);
    var rPort = document.getElementsByName(name);
    for (i = 0; i < rPort.length; i++) {
        console.log(rPort[i].value);
        if (rPort[i].checked) {
            return rPort[i].value;
        }
    }
    return '';
}

/**
 * 通过name，设置当前radio选中的值
 */
function set_radio_value(name, value) {
    var rPort = document.getElementsByName(name);
    for (i = 0; i < rPort.length; i++) {
        if (rPort[i].value == value) {
            rPort[i].checked = true;
            return;
        }
    }
}

/**
 * 编辑器中详细项确定操作 将编辑值写入最后值
 */
function set_editor_value(s, type) {
    var edit_type;
    if (type == undefined) {
        edit_type = 'work';
    }
    var value;
    if (s == 'type' && edit_type == 'work') {
        value = get_radio_value(edit_type + '_edit_content_' + s);
        if (value == 2) {
            value = '自制';
        }
        else {
            value = '定制';
        }
    }
    else {
        value = $('#' + edit_type + '_edit_content_' + s).val();
    }
    $('#' + edit_type + '_value_' + s).val(value);
}

/**
 * 编辑器中详细项确定操作 编辑值取消
 */
function reset_editor_value(s, type) {
    var edit_type;
    if (type == undefined) {
        edit_type = 'work';
    }
    var value = $('#' + edit_type + '_value_' + s).val();
    if (s == 'type' && edit_type == 'work') {
        if (value == '自制') {
            set_radio_value(edit_type + '_edit_content_' + s, 2);
        }
        else {
            set_radio_value(edit_type + '_edit_content_' + s, 1);
        }
    }
    else {
        $('#' + edit_type + '_edit_content_' + s).val(value);
    }
}

//作品加入专题
function work_for_topic(sender) {
    var $sender = $(sender);
    var topic_msg = $sender.attr("data-topic-msg").split(',');
    var topic_id = topic_msg[0];
    var work_id = topic_msg[1];
    if (topic_id == undefined || work_id == undefined)
        return;
    var post_data = {
        controller: "topic_edit",
        topic_id: topic_id,
        work_id: work_id
    }
    var callback_para = {
        sender: $sender
    }
    act_do(post_data, work_for_topic_callback, callback_para);
}

function work_for_topic_callback(result, para) {
    if (result == 1) {
        para.sender.removeClass('app-btn-follow').addClass('app-btn-followed').text('待审核');
        show_alert("作品已投稿到专题 请等待管理员审核");
    }
    else {
        show_alert(result);
    }
}
/**
 * 作品删除
 * @param {Number} id 作品id
 */
function work_dele(id) {
    if (isNaN(id)) return;
    if (confirm('是否要删除当前作品') != true) return;
    post_data = {
        controller: "work_edit",
        work_dele: id
    }
    act_do(post_data, work_dele_callback);
}

function work_dele_callback(result) {
    if (result == 1) {
        show_fade('作品已删除完成');
        act_back();
    } else {
        show_alert(result);
    }
}
/**
 * 鞋主秀删除
 * @param {Number} id 鞋主秀id
 */
function shoe_show_dele(id) {
    if (isNaN(id)) return;
    if (confirm('是否要删除当前鞋主秀') != true) return;
    var post_data = {
        controller: "shoe_show_edit",
        shoe_show_dele: id
    }
    act_do(post_data, shoe_show_dele_callback);
}

function shoe_show_dele_callback(result) {
    if (result == 1) {
        show_fade('鞋主秀已删除完成');
        act_back();
    } else {
        show_alert(result);
    }
}

/**
 * 专题删除
 * @param {Number} id 专题id
 */
function topic_dele(id, sender) {
    if (isNaN(id)) return;
    if (confirm('是否要删除所选专题') != true) return;
    var post_data = {
        controller: "topic_edit",
        topic_dele: id
    }
    var callback_para = {
        sender: $(sender)
    }
    act_do(post_data, topic_dele_callback);
}

function topic_dele_callback(result, para) {
    if (result == 1) {
        show_alert('专题已删除');
        para.sender.parents('li').first().remove();
    } else {
        show_alert(result);
    }
}

/**
 * 专题发布1或存草稿0
 */
function topic_save(mode) {
    if (mode != 0 && mode != 1) {
        show_alert("提交的状态错误");
        return;
    }

    var topic_id = $('#parent_id').val()
    if (topic_id == undefined) return;

    var tittle = $("#topic_value_name").val();
    if (tittle == undefined || tittle == '') {
        show_alert("专题标题不能为空");
        return;
    }
    var introd = $("#topic_value_introd").val();
    if (introd == undefined || introd == '') {
        show_alert("专题简介不能为空");
        return;
    }
    var confirm_str = '确认要';
    if (mode == 1) {
        confirm_str += '发布当前专题吗?';
    } else {
        confirm_str += '保存当前专题为草稿吗?'
    }
    if (confirm(confirm_str) === false) {
        return;
    }
    var names = editor_img_names();
    //console.log(names);
    if (mode == 1) {
        if (names == undefined || names == '') {
            show_alert('无图片信息,请重新开始上传');
            return;
        }
    }

    var post_data = {
        controller: 'topic_edit',
        topic_edit: 1,
        topic_id: topic_id,
        topic_state: mode,
        topic_name: encodeURIComponent(tittle),
        introd: encodeURIComponent(introd),
        topic_img_names: names
    };
    show_loading('专题保存中...');
    act_do(post_data, topic_save_callback, null, false);
}

function topic_save_callback(result) {
    if (result == 1) {
        show_fade('专题保存成功');
        act_back();
    }
    else {
        show_alert(result);
    }
}

/**
 * 关注专题
 */
function topic_up(sender) {
    var $sender = $(sender);
    var topic_id = $sender.attr("data-topic-id");
    if (topic_id == undefined) {
        show_alert("页面信息错误 无法操作");
        return;
    }
    $up_count = $("#topic_up_count_" + topic_id);
    if (!$up_count) {
        show_alert("页面信息错误 无法操作");
        return;
    }
    var post_data = {
        controller: 'topic_edit',
        topic_up: topic_id
    }
    var callback_para = {
        sender: $sender,
        up_count: $up_count
    }

    act_do(post_data, topic_up_callback, callback_para);
}

function topic_up_callback(result, para) {
    var btn_class = para.sender.attr('class');
    var count = para.up_count.text();
    if (result == 1) { // 操作结果为添加关注
        if (!isNaN(count)) {
            para.up_count.text(Number(count) + 1);
        }
        para.sender.addClass('app-btn-followed').removeClass('app-btn-follow').text('已关注');
    } else if (result == -1) { // 操作结果为取消关注
        if (!isNaN(count)) {
            para.up_count.text(Number(count) - 1);
        }
        para.sender.addClass('app-btn-follow').removeClass('app-btn-followed').text('加关注');
    }
    else {
        show_alert(result);
    }
}

/**
 * 专题中的作品审核
 * @param {Number} topic_id 专题id
 * @param {Number} work_id 作品id
 * @param {Number} mode 模式 正值同意 负值拒绝
 */
function topic_work_check(topic_id, work_id, mode, sender) {
    var check_mode;
    if (mode == 1 || mode == 2) {
        if (confirm('通过此作品的审核吗？') == false) return;
        check_mode = 1;
    } else if (mode == -1 || mode == -2) {
        if (confirm('拒绝此作品的投稿吗？') == false) return;
        check_mode = -1;
    } else {
        return;
    }
    if (sender != undefined) {
        $topic_work_check_actions = $('#topic_work_check_actions');
        topic_id = $topic_work_check_actions.attr('data-topic');
        work_id = $topic_work_check_actions.attr('data-work');
    }
    if (topic_id == undefined ||
        work_id == undefined) {
        return;
    }

    var post_data = {
        controller: "topic_work_check",
        topic_id: topic_id,
        work_id: work_id,
        check_mode: check_mode
    }
    var callback_para = {
        mode: mode,
        topic_id: topic_id,
        work_id: work_id
    }
    act_do(post_data, topic_work_check_callback, callback_para);
}

function topic_work_check_callback(result, para) {
    if (result == 1) {
        show_alert("作品已审核通过");
    }
    else if (result == -1) {
        show_alert("作品已被拒绝");
    }
    else {
        show_alert(result);
        return;
    }
    if (para.mode == 1 || para.mode == -1) {
        act_back();
    }
    else {
        $('#topic_' + para.topic_id + '_work_' + para.work_id).remove();
        $topic_works_count = $('#topic_works_count');
        count = $topic_works_count.text();
        $topic_works_count.text(parseInt(count) - 1);
    }
}

/**
 * 鞋主秀保存 发布1或存草稿0
 * @param {Number} mode 模式 发布1或存草稿0
 */
function shoe_show_save(mode) {
    if (mode != 0 && mode != 1) {
        show_alert("提交的状态错误");
        return;
    }

    var confirm_str = '确认要';
    if (mode == 1) {
        confirm_str += '发布当前鞋主秀吗?';
    } else {
        confirm_str += '保存当前鞋主秀为草稿吗?'
    }
    if (confirm(confirm_str) === false) {
        return;
    }
    var introd = $("#shoe_show_edit_content_introd").val();
    if (introd == undefined || introd == '') {
        show_alert("评论不能为空");
        return;
    }
    var work_id = $("#work_id").val();
    var shoe_show_id = $('#parent_id').val();
    if (work_id == undefined) {
        show_alert("未找到所属作品Id");
        return;
    }
    if (shoe_show_id == undefined) {
        show_alert("未找到相关鞋主秀Id");
        return;
    }
    var names = editor_img_names();
    if (mode == 1) //保存为草稿无需图片
    {
        if (names == undefined || names == '') {
            show_alert('无图片信息,请重新开始上传');
            return;
        }
    }
    var post_data = {
        controller: 'shoe_show_edit',
        shoe_show_id: shoe_show_id,
        work_id: work_id,
        shoe_show_state: mode,
        shoe_show_img_names: names,
        introd: encodeURIComponent(introd)
    };
    show_loading('鞋主秀保存中....')
    act_do(post_data, shoe_show_save_callback, null, false);
}

function shoe_show_save_callback(result) {
    // 以|为分隔符 前面为状态 1为发布 0为保存草稿 后面为描述
    var i = result.indexOf('|');
    if (i > 0) {
        var text = result.substr(i + 1);
        // 跳转到我的鞋主秀列表
        act_content(null, '/show/mine/', null, 0, 1);
        // 显示提示，并在2秒后关闭
        show_fade(text, 2000);
    }
    else //如果没有|符号 为纯错误信息 留在当前界面
    {
        show_alert(result);
    }
}

/**
 * 用户个人资料配置
 * @param {Number} type
 */
function user_cfg_msg(type) {
    var post_data = {
        controller: 'user_cfg',
        cfg_type: '1',
        cfg_user_msg_save: type
    };
    if (type == 2) { //地区
        post_data['Province'] = encodeURIComponent($("#user_cfg_province").val());
        post_data['City'] = encodeURIComponent($("#user_cfg_city").val());
    } else if (type == 3) //性别
    {
        post_data['Sex'] = $("input[name='user_cfg_sex']:checked").val();
    } else if (type == 4) //生日
    {
        post_data['Birthday'] = $("#user_cfg_birthday").val();
    } else if (type == 5) //密码
    {
        post_data['OldPassword'] = $("#user_cfg_old_password").val();
        post_data['Password'] = $("#user_cfg_new_password").val();
        if (post_data['OldPassword'] == post_data['Password']) {
            show_alert('新旧密码不能相同');
            return;
        }
        if (!password_check(post_data['Password'])) {
            show_alert('密码长度为6-16 仅支持大小写字母和数字0-9');
            return;
        }
    } else {
        return;
    }
    for (var k in post_data) {
        if (post_data.hasOwnProperty(k)) {
            if (post_data[k] == undefined) {
                show_alert('页面信息被破坏');
                return;
            }
        }
    }
    act_do(post_data, user_cfg_msg_callback, post_data);
}

function user_cfg_msg_callback(result, para) {
    if (result == 1) {
        if (para.cfg_user_msg_save == 2) { //地区
            $("#user_cfg_msg_pc").text(decodeURIComponent(para['Province']) + ' ' + decodeURIComponent(para['City']));
        } else if (para.cfg_user_msg_save == 3) //性别
        {
            var sex_text = '';
            if (para['Sex'] == 1) {
                sex_text = '男';
            } else if (para['Sex'] == 2) {
                sex_text = '女';
            } else {
                sex_text = '保密';
            }
            $("#user_cfg_msg_sex").text(sex_text);
        } else if (para.cfg_user_msg_save == 4) //生日
        {
            $("#user_cfg_msg_birthday").text(para['Birthday']);
        }
        show_fade('修改操作完成');
        act_back();
    }
    else {
        show_alert(result);
    }
}

function pay_count_change(sender) {
    var count = $(sender).val();
    if (count == undefined || isNaN(count) || count <= 0 || count > 2000) {
        show_alert('充值数量错误，可输入数值1-9999');
        return;
    }
    $('#pay_total').text(count);
}

//确认支付
function pay_submit() {
    var count = $('#pay_count').val();
    if (count == undefined || isNaN(count) || count <= 0 || count > 2000) {
        show_alert('充值数量错误，可输入数值1-9999');
        return;
    }
    if (confirm('您确认充值 ' + count + '个金币吗?') == false) {
        return;
    }
    $('#pay_form').submit();
}

/**
 * 搜索 并进入搜索页面
 * @param {Number} page 可直接进入搜索到的内容的第几页
 * @param {String} search_content 搜索内容 例如work_list
 * @param {Number} list_type 搜索内容的列表类型
 * @param {Object} data 附加的搜索数据
 */
function goto_search(search_content, list_type, data) {
    var search_text = $("#search_text").val();
    if (search_text == undefined ||
        search_text.length <= 1) {
        show_alert("请输入需要搜索的内容, 内容长度大于1");
        return;
    }
    var post_data = {
        controller: 'search',
        search_content: search_content,
        list_type: list_type,
        search_text: encodeURIComponent(search_text)
    }
    if (data != undefined) {
        post_data = $.extend(post_data, data);
    }
    act_content(null, null, post_data, 2);
}

/**
 * 获取搜索内容
 */
function get_search(page, data) {
    var $search_show = $("#search_show");
    if ($search_show == undefined || $search_show.length <= 0) {
        show_alert("页面内容信息不完整");
        return;
    }
    var search_text = $("#search_text").val();
    if (search_text == undefined ||
        search_text.length <= 1) {
        show_alert("请输入需要搜索的内容, 内容长度大于1");
        return;
    }
    var search_content = $search_show.attr("data-search-content");
    var list_type = $search_show.attr("data-list-type");
    search_global_type = list_type;
    $search_result_count = $search_show.find('#search_result_count');
    var result_count = $search_result_count.text();
    if (search_content == undefined || list_type == undefined || result_count == undefined) {
        show_alert("页面内容信息不完整");
        return;
    }
    $search_result_content = $("#search_result_content");
    //$search_loading = $("#search_loading");
    //$search_loading.show();
    $search_result_content.hide();
    // 20170223 修改 将ajax操作全部使用统一的act_do函数替代
    var post_data = {
        controller: "search",
        search_content: search_content, //搜索的内容 例如work_list
        search_text: encodeURIComponent(search_text), //搜索的文本
        list_type: list_type,
        page_change: page,
        search_result_count: result_count
    };
    // 如果有附加的数据
    if (data != undefined) {
        post_data = $.extend(post_data, data);
    }
    var callback_para = {
        //search_loading : $search_loading,
        search_result_count: $search_result_count,
        search_result_content: $search_result_content
    };
    act_do(post_data, get_search_callback, callback_para);
}

/**
 * 获取搜索内容的回调函数
 * @param {String} result 返回的结果
 * @param {Object} callback_para 从执行函数传递的参数
 */
function get_search_callback(result, callback_para) {
    //callback_para.search_loading.hide();
    //返回的内容如果正确 则为使用||符号分隔的数量与内容
    var char_index = result.indexOf('||');
    if (char_index > 0) {
        var result_count = result.substring(0, char_index);
        if (isNaN(result_count)) {
            show_alert('搜索结果解析错误');
            return;
        }
        var result_content = result.substring(char_index + 2);
        if (result_count == -99) //代表result_content为要跳转的链接内容
        {
            callback_para.search_result_count.text(result_count).parent().first().hide().parent().first().hide();
        }
        else {
            callback_para.search_result_count.text(result_count).parent().first().show().parent().first().show();
        }
        callback_para.search_result_content.html(result_content);
        callback_para.search_result_content.show();
    }
    else if (char_index == 0) {
        show_alert(result.replace('||', ''));
    }
    else {
        show_alert(result);
    }
}

//全局搜索类型改变
function search_global(type, sender) {
    $sender = $(sender);
    $sender.parent().children('.web-list-sele-active').removeClass('web-list-sele-active');
    $sender.addClass('web-list-sele-active');
    $('#search_keyword').text($('#search_text').val());
    $('#search_global_type').text($sender.text());
    $('#search_result_count').parent().first().hide();
    $("#search_show").attr('data-list-type', type);
    get_search(1);
}

/**
 * 编辑器退出 退出时删除残留的图片编辑遮罩层
 * @param msg 0需要确认再退出（默认）
 */
function editor_back(msg) {
    if (msg == undefined || msg == 0) {
        if (confirm('确定退出当前编辑吗？') == true) {
            imgCut.Clear();
            act_back();
        }
    }
    else {
        imgCut.Clear();
    }
}

/**
 * 编辑器显示内容
 * @param {String} i 要显示的内容
 * @param {Number} type 编辑类型 1作品 2鞋主秀 3专题 0代表不检测
 */
function editor_show(i, type) {
    if (i == "image_list") {
        if (type == undefined) type = 1;
        if (type !== 0) {
            if (editor_check_input(type) == false) {
                show_alert("请填写完整信息后，再上传图片");
                return;
            }
        }
        // 将裁剪的框隐藏
        if (imgCut !== null && imgCut !== undefined) {
            imgCut.Hide();
        }
    }
    $(".editor-project").hide();
    $(".editor_" + i).show();
    $(".editor-btn").hide();
    $(".editor_btn_" + i).show();
    if (i == "image_cut") {
        $("#editor_tittle").hide();
    }
    else {
        $("#editor_tittle").show();
        if (i == "image_dele") {
            $("#editor_image_dele_back").show();
            $("#editor_image_dele_btn").show();
            $("#editor_text_show_btn").hide();
            $("#editor_image_list_show_btn").hide();
            $("#editor_back_btn").hide();
        }
        else {
            $("#editor_image_dele_back").hide();
            $("#editor_image_dele_btn").hide();
            $("#editor_back_btn").show();
            if (i == "image_list") {
                $("#editor_text_show_btn").show().removeClass("app-main-color").addClass("app-gray2-color");
                $("#editor_image_list_show_btn").show().removeClass("app-gray2-color").addClass("app-main-color");
            }
            else {
                $("#editor_text_show_btn").show().removeClass("app-gray2-color").addClass("app-main-color");
                $("#editor_image_list_show_btn").show().removeClass("app-main-color").addClass("app-gray2-color");
            }
        }
    }
}

/**
 * 检查编辑器中的文本输入
 * @param {Number} type 编辑类型 1作品 2鞋主秀 3专题
 */
function editor_check_input(type) {
    if (type == 1) //作品
    {
        v1 = $("#work_value_tittle").val();
        v2 = $("#work_value_introd").val();
        v3 = $("#work_value_stype").val();
        v4 = $("#work_value_tags").val();
        if (v1 == "" || v1 == undefined ||
            v2 == "" || v2 == undefined ||
            v3 == "" || v3 == undefined ||
            v4 == "" || v4 == undefined) {
            return false;
        }
        else return true;
    }
    else if (type == 2) //鞋主秀
    {
        v1 = $("#shoe_show_edit_content_introd").val();
        if (v1 == "" || v1 == undefined)
            return false;
        else
            return true;
    }
    else if (type == 3) {
        v1 = $("#topic_value_name").val();
        v2 = $("#topic_value_introd").val();
        if (v1 == "" || v1 == undefined ||
            v2 == "" || v2 == undefined)
            return false;
        else
            return true;
    }
}

//图片上传初始化 当前用于用户上传头像/专题编辑
function img_upload_ini() {
    $('#img_upload').change(function (event) {
        var files = event.target.files, file;
        if (files && files.length > 0) {
            file = files[0];
            if (file.size > 1024 * 1024) {
                show_alert('图片大小不能超过 1MB');
                return;
            }
            var URL = window.URL || window.webkitURL;
            var imgURL = URL.createObjectURL(file);
            if (imgURL) {
                $('#img_demo').html('<img class="app-img-preview" src="' + imgURL + '" />');
            } else {
                show_alert('您的浏览器不支持此操作,请更新');
            }
        }
    });
}

//图片上传初始化 当前用于编辑作品/鞋主秀
function img_show_upload_ini(edit_type) {

}
//图片选择变化 当前用于编辑作品、鞋主秀
function img_show_change(sender) {
    //console.log('changed');
    var files = sender.files;
    if (files && files.length > 0) {
        file = files[0];
        if (file.size > 1024 * 1024 * 5) {
            show_alert('图片大小不能超过 5MB');
            return;
        }
        var $img_list = $('#img_list_demo');
        var count = $img_list.children().length;
        var max_count = $('#img_max_count').text();
        if (max_count == undefined) return;
        max_count = parseInt(max_count);
        if (count > max_count) {
            show_alert('图片数量不能超过' + max_count + '张');
            return;
        }
        var URL = window.URL || window.webkitURL;
        var imgURL = URL.createObjectURL(file);
        //console.log(imgURL);
        if (imgURL) {
            $('#img_need_cut').attr('src', imgURL);
            imgCut.isNew = true;
            var file = $("#img_new_file");
            //需要替换掉当前的input内容，否则如果选择同一张图片，将不再响应内容变化事件
            file.replaceWith('<input id="img_new_file" type="file" onchange="img_show_change(this)" />');
            editor_show("image_cut");
        } else {
            show_alert('您的浏览器不支持此HTML5操作,请更新');
        }
    }
}

/**
 * 进入图片编辑器
 */
function img_edit_go() {
    var imgUrl = $('#img_big_demo').children("img").attr('src');
    $('#img_need_cut').attr('src', imgUrl.replace(".mini.", "."));
    setTimeout('imgCut.Init();', 100);
}

/**
 * 编辑器中触发添加图片
 * @param {Number} type 编辑类型 1作品 2鞋主秀 3专题 4消息编辑器
 */
function img_add_trig(type) {
    var $img_list = $('#img_list_demo');
    var count = $img_list.children().length;
    var max_count = $('#img_max_count').text();
    if (max_count == undefined) return;
    max_count = parseInt(max_count);
    if (count >= max_count) {
        show_alert('图片数量不能超过' + max_count + '张');
        return;
    }
    if (type == undefined) type = 1;
    if (editor_check_input(type)) {
        $('#img_new_file').click();
    }
    else {
        show_alert("请填写完整信息后，再上传图片");
    }
}

/**
 * 设置当前图片数量
 */
function img_set_cur_count() {
    var count = $('#img_list_demo').find('img[data-issave]').length;
    $('#img_edit_btn').find('#img_count').text(count);
}

//上传文件
function upload_file() {
    var xhr = new XMLHttpRequest();
    var my_form = document.getElementById('upload_img_form');
    var fd = new FormData(my_form);
    if (fd) {
        xhr.upload.addEventListener("progress", upload_progress, false);
        xhr.addEventListener("load", upload_complete, false);
        xhr.addEventListener("error", upload_failed, false);
        xhr.addEventListener("abort", upload_canceled, false);
        xhr.open("POST", my_form.action);
        xhr.send(fd);
        onBusy = 1;
        show_loading('上传中...<span id="upload_img_progress">0%</span>');
    } else {
        show_alert('您的浏览器不支持html5操作，请升级');
        return;
    }
}

function upload_progress(evt) {
    if (evt.lengthComputable) {
        var percentComplete = Math.round(evt.loaded * 100 / evt.total);
        $("#upload_img_progress").text(percentComplete.toString() + '%');
    }
    else {
        $("#upload_img_progress").text('??%');
    }
}

function upload_complete(evt) {
    onBusy = 0;
    close_loading();
    /* This event is raised when the server send back a response */
    if (typeof upload_complete_callback == 'function') {
        upload_complete_callback(evt.target.responseText);
    } else {
        show_alert(evt.target.responseText);
    }
}

function upload_failed(evt) {
    onBusy = 0;
    show_alert("上传时发生错误");
}

function upload_canceled(evt) {
    onBusy = 0;
    show_alert("本次上传已被取消");
}

var upload_complete_callback = null;

/**
 * 图片全屏显示
 */
function img_full_show(sender) {
    var src = $(sender).children().first().attr("src");
    src = src.replace('.mini.', '.');//使用原尺寸图
    var $popup = $("#img_full_popup");
    var $img = $popup.find("#img_full_show_img");
    $img.attr("src", src);
    var img = $img[0];
    $popup.modal("toggle").find("#show_full_img").css("background-image", 'url("' + src + '")');
    $popup.find("#show_full_img_download").attr("href", src);
    //等待全图加载完毕 
    var full_img_load_timer = setInterval(
        function () {
            if (img.complete) {
                set_full_img_view(0);
                clearInterval(full_img_load_timer);
            }
        }, 50);
}

/**
 * 设置全屏查看图片的视图
 * @param {int} changeStep 设置旋转状态, -1反转 0竖屏 1横屏
 */
function set_full_img_view(changeStep) {
    var img = document.getElementById('img_full_show_img');
    var c = document.getElementById('img_full_show_canvas');
    if (c == null || img == null) {
        return;
    }
    var canvasContext = c.getContext('2d');
    var sH = screen.height;
    var sW = screen.width;
    var iH = img.naturalHeight;
    var iW = img.naturalWidth;
    var $covert_btn = $("#img_full_covert_btn");
    var step = $covert_btn.attr('data-step');
    if (changeStep == 0 || (step == 1 && changeStep == -1)) {
        c.setAttribute('width', sW);
        var cH = iH * sW / iW;
        c.setAttribute('height', cH);
        //canvasContext.rotate(0 * Math.PI / 180); //无需旋转
        canvasContext.drawImage(img, 0, 0, iW, iH, 0, 0, sW, cH);
        //将画布设置到垂直中心
        $('#img_full_show_before').css('height', (sH - cH) / 2).show();
        $('.app-img-full-show-btn').removeClass("app-img-full-show-btn_v");
        $covert_btn.attr('data-step', '0');
    }
    else if (changeStep == 1 || (step == 0 && changeStep == -1)) {
        c.setAttribute('width', sW);
        var cH = parseInt(iW * sW / iH);
        c.setAttribute('height', cH);
        canvasContext.rotate(90 * Math.PI / 180); //旋转90°
        canvasContext.drawImage(img, 0, 0, iW, iH, 0, sW * -1, cH, sW);
        //将画布设置到垂直中心
        $('#img_full_show_before').hide();
        $('.app-img-full-show-btn').addClass("app-img-full-show-btn_v");
        $covert_btn.attr('data-step', '1');
    }
}

function comment_reply_desc($comment) {
    var comment_id = $comment.attr('data-comment-id');
    var comment_parent_type = $comment.attr('data-parent-type');
    var comment_parent_id = $comment.attr('data-parent-id');
    var comment_desc = $comment.attr('data-desc');
    var author_id = $comment.attr('data-author-id');
    if (comment_id == undefined || comment_parent_type == undefined ||
        comment_parent_id == undefined || comment_desc == undefined ||
        author_id == undefined) {
        return;
    }
    var post_data = {
        controller: 'comment',
        comment_id: comment_id,
        comment_parent_id: comment_parent_id,
        comment_parent_type: comment_parent_type,
        comment_desc: comment_desc,
        comment_only_reply: 1,
        author_id: author_id
    };
    act_do(post_data, comment_reply_desc_callback);
}

function comment_reply_desc_callback(result) {
    $('#comment_reply_list').html(result);
}

function comment_desc(sender, isReply) {
    $comment = $('#comment_div')
    var desc = $comment.attr('data-desc');
    $sender = $(sender);
    if (desc == 1) {
        desc = 0;
        show_fade('最先发表的评论在最上面');
        $sender.removeClass('am-icon-caret-square-o-up').addClass('am-icon-caret-square-o-down');
    }
    else {
        desc = 1;
        show_fade('最新发表的评论在最上面');
        $sender.removeClass('am-icon-caret-square-o-down').addClass('am-icon-caret-square-o-up');
    }
    $comment.attr('data-desc', desc);
    if (isReply == undefined) {
        comment_page_change(1);
    }
    else {
        comment_reply_desc($comment);
    }
}

/**
 * 详细评论视图展示
 * @param {int} id 评论id
 * @param {int} type 评论类型 1作品 2鞋主秀
 * @param {int} parent_id 评论的对象(作品或鞋主秀)的id
 */
function comment_show(id, type, parent_id) {
    $comment = $('#comment_div');
    if (parent_id == undefined)
        parent_id = $comment.attr('data-parent-id');
    if (type == undefined)
        type = $comment.attr('data-parent-type');
    var author_id = $comment.attr('data-author-id');
    if (parent_id == undefined || id == undefined || type == undefined || author_id == undefined)
        return;
    var post_data = {
        controller: 'comment',
        comment_id: id,
        comment_parent_type: type,
        comment_parent_id: parent_id,
        author_id: author_id
    };
    act_content(null, null, post_data);
}

/**
 * 进入评论的回复页面
 * @param {int} id 评论id 如果为回复需要填写
 */
function goto_comment_edit(id, at_username) {
    if (id == undefined) {
        id = 0;
    }
    $comment = $('#comment_div')
    var type = $comment.attr('data-parent-type');
    var parent_id = $comment.attr('data-parent-id');
    if (type == undefined || parent_id == undefined)
        return;
    var post_data = {
        controller: 'comment',
        comment_edit_view: 1,
        reply_id: id,
        parent_type: type,
        parent_id: parent_id
    };
    if (at_username != undefined) {
        post_data['comment_at_username'] = at_username;
    }
    act_content(null, null, post_data);
}

/**
 * 进入作品详细页面
 * @param {int} id 作品id
 */
function goto_work_show(id) {
    if (id == undefined || isNaN(id)) return;
    var post_url = '/' + id.toString() + '.html';
    var post_data = {};
    act_content(null, post_url, post_data, 0);
}

/**
 * 进入专题详情页面
 * @param {int} id 专题id
 */
function goto_topic_show(id) {
    if (id == undefined || isNaN(id)) return;
    var post_url = '/special/' + id.toString() + '.html';
    var post_data = {};
    act_content(null, post_url, post_data, 0);
}

function goto_shoe_show(work_id, index) {
    if (work_id == undefined || isNaN(work_id)) return;
    if (index == undefined || isNaN(index)) return;
    var post_url = '/' + work_id.toString() + '_' + index.toString() + '.html';
    var post_data = {};
    act_content(null, post_url, post_data, 0);
}

/**
 * 回首页
 */
function goto_main(mode) {
    post_data = {
        controller: 'works_show_list',
        list_type: '1',
        page_change: '1',
        page_iscroll_load: '1',
        home_view: '1'
    };
    act_content(null, '/', post_data, mode, 1);
}

/**
 * 进入管理员消息页面
 * @param {Number} msg_type 消息类型
 */
function goto_ad_msg(msg_type) {
    if (isNaN(msg_type)) return;
    post_data = {
        controller: 'message',
        msg_type: msg_type
    }
    act_content(null, null, post_data, 2);
}

/**
 * 进入对话内容的详细页面
 * @param {Number} dialog_id 对话的Id
 * @param {Number} msg_type 对话类型  204反馈/举报 205普通私信 206系统消息
 * @param {Number} no_record 1为不记录url
 */
function goto_dialog_show(dialog_id, msg_type, no_record) {
    if (isNaN(dialog_id) || isNaN(msg_type)) return;
    var post_data = {
        controller: 'message',
        msg_dialog: dialog_id,
        msg_type: msg_type
    }
    if (no_record == undefined) {
        act_content(null, null, post_data, 2);
    }
    else {
        act_content(null, null, post_data, 1); //不记录url的变动
    }
}

/**
 * 进入消息编辑器
 * @param {Number} dialog_id 对话的Id
 * @param {Number} edit_type 编辑的类型  204反馈/举报 205普通私信
 * @param {String} edit_pre 需要编辑器预加载的文本
 * @param {Number} no_record 1为不记录url
 */
function goto_msg_edit(dialog_id, edit_type, edit_pre, no_record) {
    if (isNaN(dialog_id) || isNaN(edit_type)) return;
    var post_data = {
        controller: 'message',
        msg_edit_view: edit_type,
        msg_dialog: dialog_id
    }
    if (edit_pre != undefined) {
        post_data['edit_pre'] = encodeURIComponent(edit_pre);
    }
    if (no_record == undefined) {
        act_content(null, null, post_data, 2);
    }
    else {
        act_content(null, null, post_data, 1); //不记录url的变动
    }
}

/**
 * 显示全局淡出提示框
 * @param {String} text 提示文本
 * @param {Number} time 多少毫秒后消失
 */
function show_fade(text, time) {
    if (time == undefined) time = 3000;
    $('#fade_box').show().find('#fade_text').text(text);
    setTimeout("$('#fade_box').fadeOut('slow')", time);
}

/**
 * 显示全局支付弹框
 * @param {Number} price 显示需要支付的价格
 * @param {Number} type 支付类型 0余额充值 1作品发布 2鞋主秀发布 3购物车
 */
function show_pay_actions(price, type) {
    // 检查是否已经填写完成
    if (type == 1 || type == 2) {
        if (editor_check_input(type) != true) {
            show_alert("请填写完整信息");
            return;
        }
    }
    // 获取用户账户余额
    get_user_balance();
    $pay_actions = $('#pay_actions');
    // 打开支付弹框 并设置需要支付的价格提示
    $pay_actions.attr('data-pay-type', type).modal('open').find('.pay_price').text(price);
}

/**
 * 获取用户账户余额
 */
function get_user_balance() {
    var post_data = {
        controller: 'user_msg',
        user_balance: 1
    }
    act_do(post_data, get_user_balance_callback);
}

/**
 * 获取用户账户余额的回调函数
 */
function get_user_balance_callback(result) {
    if (!isNaN(result)) {
        $('.user_balance').text(result);
    }
    else {
        show_alert(result);
    }
}

/**
 * 进入支付
 */
function goto_pay() {
    // 关闭支付弹出框
    $pay_actions = $('#pay_actions');
    $pay_actions.modal('close');
    // 支付类型 0余额充值 1作品发布 2鞋主秀发布 3购物车
    var pay_type = $(pay_actions).data('pay-type');
    if (pay_type == undefined) return;
    // 用户支付工具 1支付宝 2微信支付 3余额
    var pay_tool = $("input[name='pay_tool']:checked").val();
    if (pay_tool != 3) {
        show_alert('当前支付接口尚未开放，测试请用余额');
        return;
    }
    if (pay_type == 1) // 发布作品
    {
        if (pay_tool == 3) {
            work_save(1);
        }
    }
    else if (pay_type == 2) // 发布鞋主秀
    {
        if (pay_tool == 3) {
            shoe_show_save(1);
        }
    }
    else if (pay_type == 3) // 购物车
    {
        pay_car_accounts(pay_tool);
    }
}

/**
 * 购物车结算
 * @param {Number} 支付工具 1支付宝 2微信支付 3余额
 */
function pay_car_accounts(pay_tool) {
    var post_data = {
        controller: 'user_pay_car',
        pay_car_mode: 201,
        pay_tool: pay_tool
    }
    act_do(post_data, pay_car_accounts_callback);
}

function pay_car_accounts_callback(result) {
    if (result == 1) {
        show_fade('支付成功', 3000);
        // 返回到用户本领的首页
        var post_data = {
            controller: 'user_field',
            user_id: 0
        }
        act_content(null, null, post_data, 2, 1);
    }
    else {
        show_alert(result);
    }
}

/**
 * 字数统计
 */
function stat_input_num(textArea, numItem, max) {
    textArea[0].setAttribute("maxlength", max);
    curLength = textArea.val().length;
    numItem.text(curLength);
    textArea.on('input propertychange', function () {
        var _value = $(this).val();
        numItem.text(_value.length);
    });
}

/**
 * 本领的简介恢复功能 将当前编辑的内容恢复到确定前的状态
 */
function field_introd_restore() {
    var text = $('#user_field_introd').text();
    if (text == '点击输入') text = '';
    $('#field_input_introd').val(text);
}

/**
 * 本领编辑模态操作
 * @param {Number} type 操作类型 -1操作取消 0显示模态框 1操作确认 2加入购物车
 * @param {Number} step 步骤 1本领名称 2本领简介
 */
function field_edit_modal(type, step) {
    var edit = '';
    var min_count = 0;
    var max_count = 0;
    if (step == 1) {
        edit = 'name';
        max_count = 30;
        min_count = 3;
    }
    else if (step == 2) {
        edit = 'introd';
        max_count = 128;
        min_count = 5;
    }
    else {
        return;
    }
    var $field_modal = $('#modal_user_field_' + edit);
    var $field_text = $('#user_field_' + edit);
    var $field_input = $field_modal.find('#field_input_' + edit);
    if (type == 0) //显示编辑本领名称模态框
    {
        var value = $field_text.text();
        if (value == undefined || value == '点击输入') {
            value = '';
        }
        $field_input.val(value);
        // 如果为简介 则需要计算当前的字数并显示
        $field_modal.find('#field_introd_count').text(value.length);
        $field_modal.modal();
    }
    else if (type == 1 || type == 2) //1本领确认 2加入购物车
    {
        var value = $field_input.val();
        if (value == undefined || value == '') {
            show_alert('值不能为空');
            return;
        }
        var len = value.length;
        if (len < min_count) {
            show_alert('不能少于' + min_count + '字符');
            return;
        }
        else if (len > max_count) {
            show_alert('不能超过' + max_count + '字符');
            return;
        }
        var text = $field_text.text();
        if (value == text) {
            show_alert('修改后的值与原值一样');
            return;
        }

        $field_text.text(value);
        $field_modal.modal('close');
        if (type == 1) // 操作确认后 如果名称与简介都填写了 则将购物车按钮设置为橙色
        {
            if (step == 1) {
                edit2 = 'introd';
            }
            else if (step == 2) {
                edit2 = 'name';
            }
            var $field_text2 = $('#user_field_' + edit2);
            var text2 = $field_text2.text();
            if (text2.length > 0 && text2 != '点击输入') {
                $('#pay_car_add_btn.app-btn-gray')
                    .removeClass('app-btn-gray').addClass('app-btn-orange');
            }
            else {
                $('#pay_car_add_btn.app-btn-orange')
                    .removeClass('app-btn-orange').addClass('app-btn-gray');
            }
        }
        if (type == 2) //直接加入购物车
        {
            var field_id = $field_text.attr('data-id');
            if (field_id == undefined || isNaN(field_id)) return;
            pay_car_add(step + 30, {field_value: value, field_id: field_id});
        }
    }
    else if (type == -1) // 本领名称取消
    {
        $field_modal.modal('close');
    }
}

/**
 * 进入购物车界面
 * @param {Number} mode 操作模式 101普通视图 102编辑视图 默认为101
 * @param {Number} url_record 是否进行url记录 默认为不记录
 */
function goto_pay_car(mode, url_record) {
    if (mode === undefined) mode = 101;
    if (url_record === undefined) url_record = false;
    var post_data = {
        controller: 'user_pay_car',
        pay_car_mode: mode
    };
    if (url_record)
        act_content(null, null, post_data, 2);
    else
        act_content(null, null, post_data, 1);
}

/**
 * 加入购物车
 * @param {Number} good 商品代码 30本领添加 31本领修改名称 32本领修改简介 33本领添加作品 34本领删除作品
 * @param {Object} data 商品加入购物车时附加的数据
 */
function pay_car_add(good, data) {
    var post_data = {
        controller: 'user_pay_car',
        pay_car_good: good,
        pay_car_mode: 1 // 模式1 为加入购物车
    };
    // 禁止掉按钮 避免重复操作
    $("#pay_car_add_btn").attr({"disabled": "disabled"});
    if (good == 30) // 商品: 添加本领
    {
        // 检查本领名称与简介
        var field_name = $('#user_field_name').text();
        if (field_name == '点击输入') field_name = '';
        var len = field_name.length;
        if (field_name == undefined || len < 3 || len > 30) {
            show_alert('本领名称的字符数需在3到30之间');
            $("#pay_car_add_btn").removeAttr("disabled");
            return;
        }
        var field_introd = $('#user_field_introd').text();
        if (field_introd == '点击输入') field_introd = '';
        var len = field_introd.length;
        if (field_introd == undefined || len < 5 || len > 128) {
            show_alert('本领简介的字符数需在5到128之间');
            $("#pay_car_add_btn").removeAttr("disabled");
            return;
        }
        post_data.field_name = encodeURIComponent(field_name);
        post_data.field_introd = encodeURIComponent(field_introd);
    }
    else if (good == 31) // 31商品：本领修改名称 
    {
        if (!data.hasOwnProperty('field_value') || !data.hasOwnProperty('field_id'))
            return;
        post_data.field_id = data.field_id;
        post_data.field_name = encodeURIComponent(data.field_value);
    }
    else if (good == 32) //32本领修改简介
    {
        if (!data.hasOwnProperty('field_value') || !data.hasOwnProperty('field_id'))
            return;
        post_data.field_id = data.field_id;
        post_data.field_introd = encodeURIComponent(data.field_value);
    }
    else if (good == 33) {
        // 检查当前价格
        var price = $('#pay_car_add_price').text();
        var field_id = $('#user_field_id').text();
        if (price == undefined || price <= 0 || field_id == undefined) return;
        post_data.field_id = field_id;
        post_data.ids = '';
        var id;
        $(".app-check-box2[data-state='1']").each(function () {
            id = $(this).attr('data-id');
            if (id != undefined && !isNaN(id)) {
                post_data.ids += id + ',';
            }
        })
    }
    else {
        show_alert('没有当前指定的商品类型');
        return;
    }
    var callback_para = {mode: 1, good: good};
    // 提交到服务器, 完成后调用回调函数
    act_do(post_data, pay_car_callback, callback_para)
}

/**
 * 在购物车编辑界面中删除勾选的商品
 */
function pay_car_dele() {
    var $checked_icon = $('.app-check-box-icon.app-main-color');
    // 得到本次删除的id
    var ids = '';
    var id;
    $checked_icon.each(function () {
        id = $(this).attr('data-id');
        if (id != undefined) {
            ids += id + ',';
        }
    });

    // 更新要删除的ids
    var $pay_car_dele_ids = $('#pay_car_dele_ids');
    var dele_ids = $pay_car_dele_ids.attr('data-dele');
    if (dele_ids != undefined) {
        $pay_car_dele_ids.attr('data-dele', dele_ids + ids);
    }

    // 本次删除的数量
    var count = $checked_icon.length;
    // 将所有选中的商品从dom中去掉
    $checked_icon.parentsUntil('#slide_content_level1').remove();

    var $tittle = $('#pay_car_tittle_count');
    // 更新头部提示的商品数量
    item_sub($tittle, count);
}

/**
 * 在购物车编辑界面中点击完成
 */
function pay_car_edit_complete() {
    var ids = $('#pay_car_dele_ids').attr('data-dele');
    if (ids == undefined) return;
    var post_data = {
        controller: 'user_pay_car',
        pay_car_mode: 200, // 模式200 删除购物车中的商品
        ids: ids
    }
    var callback_para = {
        mode: 200
    }
    act_do(post_data, pay_car_callback, callback_para);
}

function pay_car_price_change(state) {
    var $price = $('#pay_car_add_price');
    // 获取当前商品单价
    var unit = $price.attr('data-unit');
    // 获取当前商品总价
    var price = $price.text();
    if (unit == undefined || price == undefined) return;
    if (state == 1) // 增加总价
    {
        price = parseInt(price) + parseInt(unit);
    }
    else {
        price = parseInt(price) - parseInt(unit);
        if (price < 0) price = 0;
    }
    $price.text(price);
    // 如果总价大于0 将按钮使能
    if (price > 0) {
        $('#pay_car_add_btn.app-btn-gray')
            .removeClass('app-btn-gray')
            .addClass('app-btn-orange');
    }
    else {
        $('#pay_car_add_btn.app-btn-orange')
            .removeClass('app-btn-orange')
            .addClass('app-btn-gray');
    }
}

function pay_car_callback(result, para) {
    if (isNaN(result)) // 如果返回的不是数值 而是错误信息
    {
        show_alert(result);
        if (para.mode == 1) // 加入购物车操作
        {
            $("#pay_car_add_btn").removeAttr("disabled"); //按钮恢复可用状态
        }
        return;
    }
    else if (result.length === 0) {
        show_alert('服务器无响应内容');
        return;
    }
    if (para.mode == 1) // 加入购物车操作
    {
        if (para.good == 30 || para.good == 33) // 30本领添加 33本领添加作品
        {
            // 返回到本领分类管理
            var post_data = {
                controller: 'user_field',
                user_field_manage: 1
            }
            act_content(null, null, post_data, 2, 1);
        }
        else if (para.good == 31 || para.good == 32) // 31本领名称修改 32本领简介修改
        {
            // 将页眉购物车商品数自增1
            item_add($('#pay_car_menu_count'), 1);
        }
        show_fade('加入购物车成功', 3000);
    }
    else if (para.mode == 200) // 模式200 删除购物车中的商品
    {
        // 返回普通购物车界面
        goto_pay_car(101);
        show_fade('删除购物车完成', 3000);
    }
}

/**
 * 对象数值 相减 并更新
 * @param {*} $item 需要更新的jQuery对象
 * @param {*} value 减去的值
 */
function item_sub($item, value) {
    var pre_value = $item.text();
    if (pre_value == undefined) return;
    value = parseInt(pre_value) - value;
    if (value < 0) value = 0;
    $item.text(value);
}

/**
 * 对象数值 相加 并更新
 * @param {*} $item 需要更新的jQuery对象
 * @param {*} value 要加的值
 */
function item_add($item, value) {
    var pre_value = $item.text();
    if (pre_value == undefined) return;
    value = parseInt(pre_value) + value;
    $item.text(value);
}

/**
 * 复选框状态的切换
 * change_func 状态切换后 将执行此函数
 * @param {Object} sender
 * @param {Object} change_func 状态切换后 将执行此函数
 */
function app_check_box(sender, change_func) {
    var $sender = $(sender);
    var $icon = $sender.find('i.app-gray-color');
    var state = 0;
    if ($icon.length > 0) // 找到灰色的图标 代表当前为未选状态 将其设置为选中
    {
        $icon.removeClass('am-icon-square-o app-gray-color')
            .addClass('am-icon-check-square app-main-color');
        state = 1;
    }
    else {
        $icon = $sender.find('i.app-main-color');
        if ($icon.length > 0) // 找到蓝色的图标 代表当前为选中状态 将其设置为未选
        {
            $icon.removeClass('am-icon-check-square app-main-color')
                .addClass('am-icon-square-o app-gray-color');
            // 找到代表全部选中的图标 将其设置为未选
            $('.app-check-box-all-icon.app-main-color').removeClass('am-icon-check-square app-main-color')
                .addClass('am-icon-square-o app-gray-color');
            state = 0;
        }
    }
    if (change_func != undefined) {
        change_func(state);
    }
}

/**
 * 复选框2状态的切换 此复选框当前用在本领的作品选择上
 * change_func 状态切换后 将执行此函数
 * @param {Object} sender
 * @param {Object} change_func
 */
function app_check_box2(sender, change_func) {
    var $sender = $(sender);
    // 获取当前复选框状态
    var state = $sender.attr('data-state');
    if (state == undefined) return;
    if (state == 1) // 当前为选中状态 将其切换为未选中
    {
        $sender.attr('data-state', '0')
            .removeClass('app-main-backcolor')
            .addClass('app-white-background');
        state = 0;
    }
    else  // 当前为未选状态 将其切换为选中
    {
        $sender.attr('data-state', '1')
            .removeClass('app-white-background')
            .addClass('app-main-backcolor');
        state = 1;
    }
    // 调用数据处理函数
    if (change_func != undefined) {
        change_func(state);
    }
}

/**
 * 全部复选框状态的切换
 * @param {Object} sender
 */
function app_check_box_all(sender) {
    var $sender = $(sender);
    var $icon = $sender.find('i.app-gray-color');

    if ($icon.length > 0) //找到灰色的图标 代表当前为未选状态 将全部设置为选中 
    {
        $('.app-check-box-icon.app-gray-color').each(function (i, e) {
            $(this).removeClass('am-icon-square-o app-gray-color')
                .addClass('am-icon-check-square app-main-color');
        });
        $icon.removeClass('am-icon-square-o app-gray-color')
            .addClass('am-icon-check-square app-main-color');
    }
    else //没找到灰色的图标 代表当前为选中状态 将全部设置为未选 
    {
        $('.app-check-box-icon.app-main-color').each(function (i, e) {
            $(this).removeClass('am-icon-check-square app-main-color')
                .addClass('am-icon-square-o app-gray-color');
        });
        $sender.find('i').removeClass('am-icon-check-square app-main-color')
            .addClass('am-icon-square-o app-gray-color');
    }
}

/**
 * 检查数据输入
 * @param {Object} data
 */
function check_input(data) {
    var result = true;
    if (data.type == 'StringLen') // 检查字符串长度
    {
        if (data.max !== undefined) {
            if (data.value.length > data.max)
                return false;
        }
        if (data.min !== undefined) {
            if (data.value.length < data.min)
                return false;
        }
    }
}

/**
 * 跳转到用户购买记录
 */
function goto_user_buy_record() {
    var post_data = {
        controller: 'user_consume'
    }
    act_content(null, null, post_data);
}

/**
 * 跳转到用户购买记录的详细内容页
 */
function goto_user_buy_record_content(id) {
    if (id == undefined || isNaN(id)) return;
    var post_data = {
        controller: 'user_consume',
        consume_id: id
    }
    act_content(null, null, post_data);
}

/**
 * 跳转到用户本领页
 * @param {Number} id 用户id
 * @param {Number} isback 是否为返回操作
 */
function goto_user_field(id, isback) {
    var post_data = {
        controller: 'user_field',
        user_id: id
    };
    act_content(null, null, post_data, 2, 1);
}

/**
 * 获取编辑器图片列表中的所有的图片名
 */
function editor_img_names() {
    var names = '';
    var name = '';
    var name_pre = '';
    var index = -1;
    var src = ""
    $("#img_list_demo").find("img[data-issave]").each(function () {
        if ($(this).attr("data-issave") == 0) {
            name_pre = "Temp|";
        }
        else {
            name_pre = "Save|";
        }
        src = $(this).attr("src");
        index = src.lastIndexOf("/");
        if (index > 0) {
            name = src.substr(index + 1);
            names += name_pre + name.replace(".mini.", ".") + ";";
        }
    });
    return names;
}

function search_global_go(sender) {
    if (search_global_type != 1 && search_global_type != 2 &&
        search_global_type != 3 && search_global_type != 4) {
        search_global_type = 1;
    }
    var post_data = {
        controller: 'search',
        search_content: 'global',
        list_type: search_global_type,
        search_text: $('#search_global_input').val()
    }
    act_content(null, null, post_data);
}

//作品推荐
function work_recommand(sender) {
    var work_id = $("#work_show_name").attr("data-work-id");
    var topic_id = $(sender).attr('data-from-topic');
    if (work_id == undefined) {
        show_alert("页面信息不完整 无法操作");
        return;
    }
    if (topic_id == undefined) {
        topic_id = '0';
    }
    $.ajax({
        url: '/index.php',
        type: 'POST',
        data: {
            controller: "work_show",
            work_up: work_id,
            from_topic: topic_id
        },
        timeout: 5000,
        error: function () {
            show_alert('无法连接服务器');
        },
        success: function (result) {
            var $work_up_count = $(".work_up_count");
            var count = 0;
            if (result == 1) { //操作结果为添加推荐
                count = Number($work_up_count.first().text()) + 1;
                $work_up_count.text(count);
                $("#icon_recommend").removeClass('am-icon-heart-o').addClass('am-icon-heart');
            } else if (result == -1) { //操作结果为取消推荐
                count = Number($work_up_count.first().text()) - 1;
                $work_up_count.text(count);
                $("#icon_recommend").removeClass('am-icon-heart').addClass('am-icon-heart-o');
            }
            else {
                show_alert(result);
            }
        }
    });
}
//鞋主秀推荐
function shoe_show_recommand() {
    var shoe_show_id = $("#collect_icon").attr("data-collect-id");
    if (shoe_show_id == undefined) {
        show_alert("页面信息不完整 无法操作");
        return;
    }
    $.ajax({
        url: '/index.php',
        type: 'POST',
        data: {
            controller: "shoe_show",
            shoe_show_up: shoe_show_id,
        },
        timeout: 5000,
        error: function () {
            show_alert('无法连接服务器');
        },
        success: function (result) {
            var $up_count = $(".shoe_show_up_count");
            var count = 0;
            if (result == 1) { //操作结果为添加推荐
                count = Number($up_count.first().text()) + 1;
                $up_count.text(count);
                $("#icon_recommend").removeClass('am-icon-heart-o').addClass('am-icon-heart');
            } else if (result == -1) { //操作结果为取消推荐
                count = Number($up_count.first().text()) - 1;
                $up_count.text(count);
                $("#icon_recommend").removeClass('am-icon-heart').addClass('am-icon-heart-o');
            }
            else {
                show_alert(result);
            }
        }
    });
}

//评论回复
function comment_reply(sender) {
    try {
        $comment_div = $("#comment_div");
        var parent_type = $comment_div.attr("data-parent-type");//评论对象的类型 1作品 2鞋主秀
        var parent_id = $comment_div.attr("data-parent-id");//回复作品或秀的id
        var sele_comment_id = $(sender).attr('data-comment-id');
        var comment_username = $comment_div.find("#comment_" + sele_comment_id + "_user_name").text();
        //更新页面跳转信息
        var post_data = {
            controller: 'comment',
            comment_edit_view: '1',
            reply_id: sele_comment_id,
            parent_id: parent_id,
            parent_type: parent_type,
            reply_user_name: comment_username
        }
    } catch (e) {
        show_alert("评论回复 页面信息不完整，无法操作");
        return;
    }
    //页面跳转到评论编辑
    act_content(null, null, post_data);
}
//评论点赞
function comment_up(sender) {
    var parent_type = $("#comment_div").attr("data-parent-type");//评论对象的类型 1作品 2鞋主秀
    var sele_comment_id = $(sender).attr('data-comment-id');
    if (parent_type == undefined || sele_comment_id == undefined) {
        show_alert('评论点赞 页面信息错误');
        return;
    }

    $.ajax({
        url: '/index.php',
        type: 'POST',
        data: {
            controller: "comment",
            comment_up: sele_comment_id,
            comment_parent_type: parent_type
        },
        timeout: 5000,
        error: function () {
            show_alert('无法连接服务器');
        },
        success: function (result) {
            $count = $("#comment_" + sele_comment_id + "_up_count");
            $icon = $("#comment_" + sele_comment_id + "_up_icon")
            if (result == 1) {//点赞
                $count.text(Number($count.text()) + 1);
                $icon.removeClass('am-icon-thumbs-o-up').addClass('am-icon-thumbs-up');
            }
            else if (result == -1) {//取消点赞
                $count.text(Number($count.text()) - 1);
                $icon.removeClass('am-icon-thumbs-up').addClass('am-icon-thumbs-o-up');
            }
            else {
                show_alert(result);
            }
        }
    });
}
function comment_dele(sender) {
    if (confirm('确定要删除此评论吗？') == false) return;
    var sele_comment_id = $(sender).attr('data-comment-id');
    var parent_type = $("#comment_div").attr("data-parent-type");//评论对象的类型 1作品 2鞋主秀
    $.ajax({
        url: '/index.php',
        type: 'POST',
        data: {
            controller: "comment",
            comment_dele: sele_comment_id,
            comment_parent_type: parent_type
        },
        timeout: 5000,
        error: function () {
            show_alert('无法连接服务器');
        },
        success: function (result) {
            if (result == 1) {//删除成功
                $(sender).parent().parent().remove();
                $count = $('#comment_count');
                var count = Number($count.text());
                $count.text(count - 1);
            } else {
                show_alert(result);
            }
        }
    });
}
//作品编辑时的编辑内容切换
function work_edit_content(type, sender) {
    if (type == 1) {
        $('#work_edit_div_introd').show();
        $('#work_edit_div_stype').hide();
        $('#work_edit_div_tags').hide();
    } else if (type == 2) {
        $('#work_edit_div_introd').hide();
        $('#work_edit_div_stype').show();
        $('#work_edit_div_tags').hide();
    } else if (type == 3) {
        $('#work_edit_div_introd').hide();
        $('#work_edit_div_stype').hide();
        $('#work_edit_div_tags').show();
    } else {
        return;
    }
    $sender = $(sender);
    $sender.parent().first().children('.web-top-work-edit-en').removeClass('web-top-work-edit-en').addClass('web-top-work-edit-dis');
    $sender.removeClass('web-top-work-edit-dis').addClass('web-top-work-edit-en');
}

/**
 * 左侧栏 按钮组切换
 * @param {int} type
 * 0:切换到默认首页
 * 1:切换到作品编辑
 * 2:切换到专题编辑
 * 3:切换到鞋主秀编辑
 * 4:切换到本领编辑
 */
function top_left_bar_change(type) {
    if (type == 0) {   //切换到默认首页
        $('#menu_top_btn_group').show();
        $('#menu_top_edit_group').hide();
        $('#menu_top_edit_group_topic').hide();
        $('#menu_top_edit_group_shoe_show').hide();
        $('#menu_bar_left').show();
        $('#menu_bar_edit_mode').hide();
    }
    else {
        $('#menu_bar_left').hide();
        $('#menu_bar_edit_mode').css('display', 'inline-block');
        $('#menu_top_btn_group').hide();
        switch (type) {
            case 1: //切换到作品编辑
                $('#menu_top_edit_group_topic').hide();
                $('#menu_top_edit_group_shoe_show').hide();
                $('#menu_top_edit_group_field').hide();
                $('#menu_top_edit_group').show().children('.web-top-work-edit-en').removeClass('web-top-work-edit-en').addClass('web-top-work-edit-dis');
                $('#menu_work_edit_introd').removeClass('web-top-work-edit-dis').addClass('web-top-work-edit-en');
                break;
            case 2: //切换到专题编辑
                $('#menu_top_edit_group').hide();
                $('#menu_top_edit_group_shoe_show').hide();
                $('#menu_top_edit_group_field').hide();
                $('#menu_top_edit_group_topic').show();
                break;
            case 3: //切换到鞋主秀编辑
                $('#menu_top_edit_group').hide();
                $('#menu_top_edit_group_topic').hide();
                $('#menu_top_edit_group_field').hide();
                $('#menu_top_edit_group_shoe_show').show();
                break;
            case 4: //切换到本领编辑
                $('#menu_top_edit_group').hide();
                $('#menu_top_edit_group_topic').hide();
                $('#menu_top_edit_group_shoe_show').hide();
                $('#menu_top_edit_group_field').show();
                // 获取当前购物车内商品数
                get_pay_car_count();
                break;
        }
    }
}

/**
 * 获取当前用户购物车内商品数量
 */
function get_pay_car_count() {
    var post_data = {
        controller: 'user_pay_car',
        pay_car_mode: 100
    }
    act_do(post_data, get_pay_car_count_cb, null, false);
}
function get_pay_car_count_cb(result) {
    if (isNaN(result)) {
        show_alert(result);
        return;
    }
    else {
        $('#pay_car_menu_count').text(result);
    }
}

/**
 * 检测作品/鞋主秀当前状态
 * 如果已发布过，不能再存为草稿。发布的时候不需要再付费
 * 返回1:已发布过 返回0表示没有发布过
 * 如果出现错误 则返回-1
 */
function check_state_for_edit() {
    var parent_id = $('#parent_id').val();
    var parent_state = $('#parent_state').val();
    var parent_type = $('#parent_type').val();
    if (parent_id == undefined || parent_state == undefined || parent_type == undefined ||
        isNaN(parent_id) || isNaN(parent_state) || isNaN(parent_type)) {
        return -1;
    }
    if (parent_id == 0 || parent_state != 1) { // 没发布过 当前为草稿或是新发布
        if (parent_type == 1) { // 作品
            //$('#edit_work_draft').show();
            $('#edit_work_release').attr('onclick', 'show_pay_actions(2,1)');
        } else { // 鞋主秀
            //$('#edit_shoe_show_draft').show();
            $('#edit_shoe_show_release').attr('onclick', 'show_pay_actions(2,2)');
        }
        return 0;
    } else { // 当前已经发布过
        if (parent_type == 1) { // 作品
            //$('#edit_work_draft').hide();
            $('#edit_work_release').attr('onclick', 'work_save(1)');
        } else { // 鞋主秀
            //$('#edit_shoe_show_draft').hide();
            $('#edit_shoe_show_release').attr('onclick', 'shoe_show_save(1)');
        }
        return 1;
    }
}

/**
 * 左侧栏打开
 */
function menu_l_open() {
    if (left_bar_state == 0) {
        //当前关闭中
        menu_l_change();
    }
}
/**
 * 左侧栏关闭
 */
function menu_l_close() {
    if (left_bar_state == 1) {
        //当前打开中
        menu_l_change();
    }
}
/**
 * 左侧栏切换
 */
function menu_l_change() {
    var bar_width;
    $bar = $('#user_menu_bar_left');
    $bar_hide = $('#doc-oc-left');
    $bar_text = $('#menu_bar_manage_text');
    if ($bar.length > 0 && $bar_hide.length > 0 && $bar_text.length > 0) {
        if (left_bar_state == 0) {
            //当前关闭中
            bar_width = left_bar_max_width; //替换为宽内容
            $bar_text.css('display', 'inline-block');
            left_bar_state = 1;
        } else {
            bar_width = left_bar_mini_width;
            $bar_text.hide();
            left_bar_state = 0;
        }
        var cur_bar_content = $bar.html();
        var cur_bar_hide = $bar_hide.html();
        $bar.html(cur_bar_hide).width(bar_width).height($slide_level1.height());
        $bar_hide.html(cur_bar_content);
        $slide_level1.css('left', bar_width);
        if (left_bar_state == 0) {
            $("#menu_home").removeClass("active-toppage-menu");
            $("#menu_shoe_show").removeClass("active-toppage-menu");
            $("#menu_topic").removeClass("active-toppage-menu");
        }
    }
}

//个人主页 选项栏 作品、推荐、更多切换
function user_show_work_change(type, sender) {
    //8=个人作品(已发布) 9=个人作品(草稿) 6=个人推荐的作品
    //10=他的专题（参与）
    if (type != 8 && type != 9 && type != 6 && type != 10) {
        show_alert("页面信息错误");
        return;
    }
    var post_data;
    $(sender).parent().find("[class='web-list-sele-item web-list-sele-active']").attr('class', 'web-list-sele-item');
    $(sender).attr('class', 'web-list-sele-item web-list-sele-active');
    var user_id = $("#user_show_name").attr("data-user-id");
    if (user_id == undefined) {
        show_alert("页面信息错误");
        return;
    }
    post_data = {
        controller: "works_list",
        list_type: type,
        works_user_id: user_id
    };
    if (type == 10) {
        post_data.controller = "topic_list"
    }

    $.ajax({
        url: '/index.php',
        type: 'POST',
        data: post_data,
        timeout: 5000,
        error: function () {
            show_alert('无法连接服务器');
        },
        success: function (result) {
            $("#user_show_work_list_div").html(result);
        }
    });
}

/**
 * 专题页面下的作品排序 1最新加入 2热门 3推荐
 * @param {Object} id 专题id
 * @param {Object} i 仅1，2，3可用
 * @param {Object} sender 来源元素
 */
function topic_show_work_list(id, i, sender) {
    if (i != 1 && i != 2 && i != 3) {
        return; //仅1，2，3可用
    }
    post_data = {
        controller: "topic_show",
        work_list_type: i,
        topic_id: id
    };
    $.ajax({
        url: '/index.php',
        type: 'POST',
        data: post_data,
        timeout: 5000,
        error: function () {
            show_alert('无法连接服务器');
        },
        success: function (result) {
            $(sender).parent().children('.web-main-color').removeClass('web-main-color').addClass('web-gray-color');
            $(sender).removeClass('web-gray-color').addClass('web-main-color');
            $("#work_list_content").html(result);
        }
    });
}

//将作品与鞋主秀页面的右侧栏高度设置成与内容一致
function set_right_bar_height() {
    $('#show_right_bar').height($('#show_content_bar').height());
}

/**
 * 图片选择 直接进入删除界面
 */
function img_sele_change(sender) {
    var src = $(sender).children('img').attr("src");
    $("#editor_image_need_dele").attr("src", src);
    editor_show("image_dele");
}

/*
 * 图片删除
 */
function img_edit_dele() {
    var src = $("#editor_image_need_dele").attr("src");
    $("#img_list_demo").find("img[src='" + src + "']").remove();
    img_set_cur_count();
    editor_show("image_list", 0);
}

/**
 * 密码校验 是否符合约定
 * @param {String} psw 密码
 */
function password_check(psw) {
    var reg = /[a-zA-Z0-9]{6,16}/;
    return reg.test(psw);
}

/**
 * 图片上传前 选择图片后的操作.
 * 当前用于用户上传头像
 */
function img_upload_change(sender) {
    var file = sender.files[0];
    if (file.size > 5 * 1024 * 1024) {
        show_alert('图片大小不能超过 5MB');
        return;
    }
    show_loading('头像生成中...');
    // 获取本地图片的url
    var URL = window.URL || window.webkitURL;
    var imgURL = URL.createObjectURL(file);
    // 加载本地图片 并居中裁剪为正方形，缩放为64*64的大小
    var img = new Image();
    img.src = imgURL;
    img.onload = function () {
        var w = this.width;
        var h = this.height;
        var sx, sy, swidth, sheight;
        if (w > h) { // 如果宽度大于高度 裁剪掉宽度大于高度的部分 剩余部分位于宽度的中间位置
            sx = (w - h) / 2;
            sy = 0;
            swidth = h;
            sheight = h;
        }
        else {
            sx = 0;
            sy = (h - w) / 2;
            swidth = w;
            sheight = w;
        }
        var Cnv = document.getElementById('img_demo_canvas');
        var Cntx = Cnv.getContext('2d');//获取2d图片编辑容器
        Cntx.drawImage(img, sx, sy, swidth, sheight, 0, 0, 64, 64);
        close_loading();
    }
}

/**
 * 上传文件 当前为上传头像时使用
 */
function img_upload_file(sender) {
    var $sender = $(sender);
    // 获取要向服务器发送的数据
    var post_data = $sender.attr('data-forward');
    if (post_data == undefined) return;
    post_data = post_string_to_array(post_data);

    // 获取画布内容
    var cnv_id = $sender.attr('data-canvas');
    if (cnv_id == undefined) return;
    var Cnv = document.getElementById(cnv_id);
    var imgDataUrl = Cnv.toDataURL("image/jpeg");
    post_data['img_url'] = imgDataUrl;

    show_loading('图片上传中...');
    act_do(post_data, img_upload_file_cb, null, false);
}

function img_upload_file_cb(result) {
    if (result == 1) {
        show_fade('头像修改成功');
        act_back();
    }
    else {
        show_alert(result);
    }
}

/**
 * 热门鞋款选择 将选择的热门鞋款内容放入编辑框
 * 并且编辑框获得焦点
 */
function hot_shoe_style_sele(sender) {
    var val = $(sender).text();
    $("#work_value_stype").val(val).focus();
}

/**
 * 图片裁剪实例
 */
var imgCut = null;

/**
 * 图片裁剪类 Web版 使用jquery.imgareaselect插件
 */
function CImgCut() {
    /** 当前裁剪框 左上坐标x1 */
    var curX1 = 0;
    /** 当前裁剪框 左上坐标y1 */
    var curY1 = 0;
    /** 当前裁剪框 右下坐标x2 */
    var curX2 = 0;
    /** 当前裁剪框 右下坐标y2 */
    var curY2 = 0;
    /** 原图宽度 */
    var oldW = 0;
    /** 原图高度 */
    var oldH = 0;
    var flag = 0;
    var isNew = false;
    var isChange = false;
    var edit_type = 2;
    var _this = this;
    /**
     * 初始化
     * @param type 编辑类型
     */
    this.Init = function (type) {
        curX1 = 0;
        curX2 = 0;
        curY1 = 0;
        curY2 = 0;
        var img = document.getElementById("img_need_cut");
        isChange = false;
        if (type != undefined) {
            edit_type = type;
        }

        // 图片原始尺寸
        oldW = parseInt(img.naturalWidth);
        oldH = parseInt(img.naturalHeight);
        // 图片显示的尺寸
        /** 当前图片显示的宽度 */
        var curW = img.width;
        /** 当前图片显示的高度 */
        var curH = img.height;
        //console.log('原图宽' + oldW);
        //console.log('原图高' + oldH);
        // 计算裁剪框的初始位置 裁剪框固定为4：3的比例
        /** 需要裁剪的宽度 */
        var needW = curW - 24;
        if (needW <= 24) needW = curW;
        /** 需要裁剪的高度 */
        var needH = curH - 18;
        if (needH <= 18) needH = curH;
        if (curW / curH > 4 / 3) {
            // 如果宽高比大于4：3 则当前图片在宽度上取居中
            needW = needH * 4 / 3;
        } else {
            // 如果宽高比小于4：3 则当前图片在高度上取居中
            needH = needW * 3 / 4;
        }
        curX1 = (curW - needW) / 2;
        curY1 = (curH - needH) / 2;
        curX2 = curX1 + needW;
        curY2 = curY1 + needH;
        // 裁剪工具初始化
        $('img#img_need_cut').imgAreaSelect({
            handles: true,
            aspectRatio: '4:3',
            show: true,
            onSelectEnd: SelectEndCallback,
            x1: curX1, y1: curY1, x2: curX2, y2: curY2
        });
    }

    /** 用户裁剪框选择完成事件的回调函数 */
    var SelectEndCallback = function (img, selection) {
        curX1 = selection.x1;
        curY1 = selection.y1;
        curX2 = selection.x2;
        curY2 = selection.y2;
    }

    /** 上传图片 */
    this.Upload = function () {
        show_loading("图片上传中...");
        // 图片画布
        var Cnv = document.getElementById('img_canvas');
        var Cntx = Cnv.getContext('2d');//获取2d图片编辑容器
        // 如果没有进行过裁剪操作 直接点击了裁剪完成
        if (curX1 == 0 && curX2 == 0 && curY1 == 0 && curY2 == 0) {
            close_loading();
            show_alert('请先对图片进行裁剪!');
            return;
        }
        //原图片
        var curImg = document.getElementById("img_need_cut");
        /** 当前图片显示的宽度 */
        var curW = curImg.width;
        /** 当前图片显示的高度 */
        var curH = curImg.height;
        /** 当前图片显示的缩放比 */
        var scale = curW / oldW;
        /** 原图片开始剪切的位置x */
        var sx = curX1 / scale;
        /** 原图片开始剪切的位置y */
        var sy = curY1 / scale;
        /** 裁剪出来的图在原图上的宽 */
        var swidth = (curX2 - curX1) / scale;
        var sheight = (curY2 - curY1) / scale;
        // 利用画布剪切出图片 并将其压缩到1024宽 768高(如果原图尺寸大于)
        // 20170117 修改 无论原图大小 上传的文件都为1024*768 服务器的水印根据此宽高设置
        /** 裁剪后 压缩的宽 */
        var width = 1024;
        /** 裁剪后 压缩的高 */
        height = 768;

        Cnv.width = width;
        Cnv.height = height;

        Cntx.drawImage(curImg, sx, sy, swidth, sheight, 0, 0, width, height);

        var picNewUrl = Cnv.toDataURL("image/jpeg");
        // 服务器执行保存到临时文件夹的操作
        post_data = {
            controller: "img_editor",
            edit_type: edit_type,
            parent_id: $("#parent_id").val(),
            parent_type: $("#parent_type").val(),
            img_url: picNewUrl // 在服务器端，必须将空格转为+号
        };
        act_do(post_data, this.UploadCallBack, null, false);
    }

    this.UploadCallBack = function (result) {
        if (result == '') {
            show_alert('图片上传失败');
        } else if (result.substr(0, 2) == '1|') {
            var newImgUrl = result.substr(2, result.length - 2);
            var $img_plus_btn = $('#editor_img_plus');
            if (imgCut.isNew) {
                imgCut.isNew = false;
                $img_plus_btn.before('<a onclick="img_sele_change(this)"><img data-issave="0" class="web-img-preview" src="' + newImgUrl + '" /></a>');
                var count = $('#img_list_demo').find('img[data-issave]').length;
                $('#img_edit_btn').find('#img_count').text(count);
            } else {
                //$img_list.children(".app-img-border-act").attr('src', newImgUrl).attr('data-issave','0');
            }
            _this.Hide();
            editor_show('image_list', 0);
        } else {
            show_alert(result);
        }
    }

    this.Clear = function () {
        //$('.imgareaselect-outer').remove();
        //$('.imgareaselect-selection').parent().remove();
        $('img#img_need_cut').imgAreaSelect({
            remove: true
        })
    }

    this.Hide = function () {
        // $('.imgareaselect-outer').hide();
        // $('.imgareaselect-selection').parent().hide();
        $('img#img_need_cut').imgAreaSelect({
            hide: true
        })
    }

    document.getElementById('img_need_cut').onload = function () {
        // 图片加载完成后，执行初始化工作
        _this.Init();

    };
}

/**
 * 作品保存
 * @param {Number} mode 作品发布1或存草稿0
 */
function work_save(mode) {
    if (mode != 0 && mode != 1) {
        show_alert("提交的状态错误");
        return;
    }
    var tittle_input = $("#work_value_tittle");
    var tittle = tittle_input.val();
    if (tittle == undefined || tittle == '') {
        show_alert("作品标题不能为空");
        return;
    }
    var confirm_str = '确认要';
    if (mode == 1) {
        confirm_str += '发布当前作品吗?';
    } else {
        // 20170529 判断当前作品是否已发布过，如果已经发布过 则不能再存为草稿
        var result = check_state_for_edit();
        if (result == 1) {
            show_alert('当前作品已发布，不能再存为草稿');
            return;
        } else if (result == -1) {
            show_alert('检查作品状态时错误');
            return;
        }
        confirm_str += '保存当前作品为草稿吗?'
    }
    if (mode == 1) {
        if (confirm(confirm_str) === false) {
            return;
        }
    }
    var introd = $("#work_value_introd").val();
    // web版本的类型选择为下拉形式
    var type = $("#work_edit_content_type").val();
    var stype = $("#work_value_stype").val();
    var tags = $("#work_value_tags").val();
    var releasedt = $("#work_value_releasedt").val();
    var work_id = $("#parent_id").val();

    if (introd == undefined
        || type == undefined || stype == undefined
        || tags == undefined //|| releasedt == undefined
        || work_id == undefined) {
        show_alert('页面信息错误');
        return;
    }
    var names = editor_img_names();
    //console.log(names);
    if (mode == 1) {
        if (names == undefined || names == '') {
            show_alert('无图片信息,请重新开始上传');
            return;
        }
    }
    var post_data = {
        controller: 'work_edit',
        work_id: work_id,
        work_state: mode,
        work_name: encodeURIComponent(tittle),
        introd: encodeURIComponent(introd),
        type: encodeURIComponent(type),
        stype: encodeURIComponent(stype),
        tags: encodeURIComponent(tags),
        releasedt: releasedt,
        work_img_names: names
    };
    var callback_para = {
        work_id: work_id
    }
    show_loading('作品保存中...');
    act_do(post_data, work_save_callback, callback_para, false);
}
function work_save_callback(result, para) {
    // 以|为分隔符 前面为状态 1为发布 0为保存草稿 后面为描述
    var i = result.indexOf('|');
    if (i > 0) {
        var text = result.substr(i + 1);
        // 显示提示，并在2秒后关闭
        show_fade(text, 2000);
        // 如果为新发布作品 则跳转到管理作品列表
        // 如果为作品编辑 则返回作品详细页面
        if (para.work_id == 0)
            act_content(null, '/works/mine/', null, 0, 1);
        else
            act_content(null, '/' + para.work_id + '.html', null, 0, 1);
    }
    else //如果没有|符号 为纯错误信息 留在当前界面
    {
        show_alert(result);
    }
}